我有一个 List<List<CustomClass>>
, 其中CustomClass
是引用类型。
我需要将这个矩阵的完整深拷贝复制到一个新的矩阵中。由于我想要深拷贝,矩阵中的每个 CustomClass 对象都必须被复制到新矩阵中。
您将如何高效地做到这一点?
最佳答案
对于实现 ICloneable 的 CustomClass,这不是很困难:
var myList = new List<List<CustomClass>>();
//populate myList
var clonedList = new List<List<CustomClass>>();
//here's the beef
foreach(var sublist in myList)
{
var newSubList = new List<CustomClass>();
clonedList.Add(newSubList);
foreach(var item in sublist)
newSublist.Add((CustomClass)(item.Clone()));
}
如果您不想实现 ICloneable,您可以使用任何“DeepCopy”类型的方法以类似的方式完成这项工作(尽管我建议使用内置接口(interface))。
关于c# - 如何在 C# 中深度复制矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8229322/