Как сделать копию объекта без какой-либо связи между ними - C#
Формулировка задачи:
Есть следующий код:
Как сделать так чтобы CanMatrix не была ссылкой на Matrix? Совсем не въезжаю, всё перепробывал.
Листинг программы
- class Class1
- {
- public int[][] Matrix;
- public int[][] CanMatrix;
- public Class1()
- {
- Matrix = new int[1][];
- Matrix[0] = new int[1] { 0 };
- CanMatrix = Matrix;
- Console.WriteLine(CanMatrix[0][0]); //Write 0
- Matrix[0][0] = 7;
- Console.WriteLine(CanMatrix[0][0]); //Write 7
- }
- }
Решение задачи: «Как сделать копию объекта без какой-либо связи между ними»
textual
Листинг программы
- public static T DeepCopy<T>(T other)
- {
- using (MemoryStream ms = new MemoryStream())
- {
- BinaryFormatter formatter = new BinaryFormatter();
- formatter.Serialize(ms, other);
- ms.Position = 0;
- return (T)formatter.Deserialize(ms);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д