J'ai un tableau tapé MyType[] types;
et je veux faire et copie indépendante de ce tableau. j'ai essayé ceciC# Copier tableau par valeur
MyType[] types2 = new MyType[types.Length] ;
types2 = types ;
mais cela crée une référence à la première. J'ai alors essayé
Array.Copy(types , types2 , types.Length) ;
mais j'ai le même problème: changer une valeur dans le premier tableau change aussi la valeur dans la copie.
Comment puis-je faire une copie complètement indépendante ou profonde d'un tableau, IList ou IEnumerable?
Microsoft dit: [nous recommandons ICloneable pas être mis en œuvre dans les API publiques] (http://msdn.microsoft.com/en-us/library/system.icloneable (v = vs .110) .aspx) car il ne spécifie pas la sémantique de la copie profonde par rapport à la copie superficielle. Mieux vaut créer sa propre interface IDeepCopyable. – Wilbert