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

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

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

Есть следующий код:
Листинг программы
  1. class Class1
  2. {
  3. public int[][] Matrix;
  4. public int[][] CanMatrix;
  5. public Class1()
  6. {
  7. Matrix = new int[1][];
  8. Matrix[0] = new int[1] { 0 };
  9. CanMatrix = Matrix;
  10. Console.WriteLine(CanMatrix[0][0]); //Write 0
  11. Matrix[0][0] = 7;
  12. Console.WriteLine(CanMatrix[0][0]); //Write 7
  13. }
  14. }
Как сделать так чтобы CanMatrix не была ссылкой на Matrix? Совсем не въезжаю, всё перепробывал.

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

textual
Листинг программы
  1. public static T DeepCopy<T>(T other)
  2. {
  3.     using (MemoryStream ms = new MemoryStream())
  4.     {
  5.         BinaryFormatter formatter = new BinaryFormatter();
  6.         formatter.Serialize(ms, other);
  7.         ms.Position = 0;
  8.         return (T)formatter.Deserialize(ms);
  9.     }
  10. }

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


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

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

9   голосов , оценка 3.889 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы