У меня есть класс C# под названием «SmallClass».deep clone a Список объектов в C#
У меня есть существующий список MyList, содержащий объекты типа «SmallClass»
Я хочу глубокий клон списка «MyList». То есть, глубокий клонировать содержащий список и глубоко клонировать объекты, содержащиеся в списке.
Как это сделать.
public class SmallClass: ICloneable {
public string str1;
public string str2;
public string str3;
public SmallClass Clone() //This just deep clones 1 object of type "SmallClass"
{
MemoryStream m = new MemoryStream();
BinaryFormatter b = new BinaryFormatter();
b.Serialize(m, this);
m.Position = 0;
return (SRO)b.Deserialize(m);
}
public override equals(Object a)
{
return Object.Equals(this.str1 && a.str1);
}
}
public class AnotherClass
{
SomeCode();
List<SmallClass> myList = new List<SmallList>(); //myList is initialized.
// NOW I want to deep clone myList. deep Clone the containing list and deep clone the objects contained in the list.
List<SmallClass> newList = new List<SmallClass>();
foreach(var item in myList)
{
newList.Add((SmallClass)item.Clone());
}
}
Что здесь происходит? 'return (a.boolean1 && a.boolean1);' – climbage