C # Copiar matriz por valor
Tengo una matriz mecanografiadaMyType[] types;
Y quiero hacer una copia independiente de esta matriz. probé esto
MyType[] types2 = new MyType[types.Length] ;
types2 = types ;
pero esto crea una referencia a la primera. Entonces intenté
Array.Copy( types , types2 , types.Length ) ;
pero tengo el mismo problema: cambiar un valor en la primera matriz también cambia el valor en la copia.
¿Cómo puedo hacer una copia completamente independiente o profunda de un Array, IList o IEnumerable?