Как сделать копию объекта без какой-либо связи между ними - 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);
}
}