Как сделать копию объекта без какой-либо связи между ними - C#

Узнай цену своей работы

Формулировка задачи:

Есть следующий код:
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
    }
}
Как сделать так чтобы CanMatrix не была ссылкой на Matrix? Совсем не въезжаю, всё перепробывал.

Решение задачи: «Как сделать копию объекта без какой-либо связи между ними»

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);
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы