.NET 4.x Сделать копию класса - C#
Формулировка задачи:
Есть Class_test a и есть Class_test b
Как сделать копию a и положить ее в b, НО чтобы я дальше мог работать с b, при этом чтобы a не изменялось никак, тоесть нужно не ссылки копировать а полностью.
a=b; не катит.
Желатьльно пример с маломальским рабочим кодом.
Решение задачи: «.NET 4.x Сделать копию класса»
textual
Листинг программы
using System; namespace CopyData { class Program { static void Main(string[] args) { Data d1 = new Data(10, new SubData(20, 30)); Data d2 = new Data(d1); d2.X = 101; d2.subData.F1 = 111; d2.subData.F2 = 222; Console.WriteLine(d1); Console.WriteLine(d2); Console.ReadKey(); } } class Data { public int X { set; get; } public SubData subData { set; get; } public Data(int x, SubData subData) { X = x; this.subData = subData; } public Data(Data data) // конструктор копирования { X = data.X; subData = new SubData(data.subData); } public override string ToString() { return string.Format("{0} {1} {2}", X, subData.F1, subData.F2); } } class SubData { public int F1 { set; get; } public int F2 { set; get; } public SubData(int f1, int f2) { F1 = f1; F2 = f2; } public SubData(SubData subData) //конструктор копирования { F1 = subData.F1; F2 = subData.F2; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д