c# - 如何在 C# 中深度复制矩阵?

标签 c# performance data-structures deep-copy

我有一个 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/

相关文章:

sql - Oracle SQL 查询的性能调优

python - 将 numpy 数组中的连续值及其长度分组

performance - slurp、空输入和输入过滤器之间的区别

.net - 我应该使用枚举还是查询数据库中的表?

algorithm - 包含所有对象的最小区间

c# - 当使用 "AS"的查询创建数据表列时,无法引用该列

c# - 在循环中访问相似的命名属性

c++ - 为什么struct node*写在struct node里面?

c# - 如何使用流畅的验证将值传递到错误消息中

c# - 线程是内核对象吗?