如何以最高性能复制对象

时间:2013-03-18 21:08:22

标签: c# object copy

this回答后,我成功复制了我的对象。

但是,性能是我当前项目中的最高优先级。所以我做了一些单元测试并检查了执行所需的时间。结果是平均2秒,而我期待最大200毫秒!我发现有90%的时间花在对象复印机上。

有没有办法提高这种性能?还有其他任何复制对象的方法吗?有谁知道复制数组或列表有多快?我会考虑使用这样的。

1 个答案:

答案 0 :(得分:10)

如果速度问题不依赖于完全通用的解决方案(特别是在这种情况下,在这种情况下,问题很难解决,一般情况下性能确实受到影响;更容易解决的问题可以在一般情况),其中大部分通常都依赖于序列化,这本身就不具备性能,因为在字符串操作上花费了大量的时间/精力。只需根据您知道的类型手动创建对象,然后根据您需要复制的内容手动复制相关字段。

还要确保只对不可变对象的浅拷贝进行处理,而不是深拷贝,因为无法观察浅/深拷贝之间的区别。