gpt4 book ai didi

c# - 性能上有什么更好的 - clone() 或使用 new 关键字的实例化?

转载 作者:行者123 更新时间:2023-11-30 18:49:19 25 4
gpt4 key购买 nike

当我们想要为某个类创建新对象时,如果我们已经有一个,我们应该使用 clone() 还是使用 new 关键字实例化?

是的,clone() 也会复制所有成员,但我很好奇这无关紧要的情况。

ClassType foo = new ClassType();
ClassType bar = new ClassType(); // here, will foo.clone() be better choice?

我在当前的一项任务中需要这个,因为我正在处理通用列表 (List < T > ),这些列表有时会变得很大,并且在实际用于 UI 之前要经过“n”层.(出于序列化目的,它们之间会转换为数组并返回列表)。所以,我只是想提高性能。

最佳答案

听起来您正在进行过早的优化。配置文件,您通常会对时间的去向感到惊讶。我怀疑它会在这里,除非你的“克隆”正在使用序列化。

也就是说; ICloneable.Clone() 值得避免,因为它定义不明确(深与浅)并且很少受支持。在幕后,大多数 Clone() 实现要么只是执行 new();//现在复制属性,或者它们使用序列化。

关于c# - 性能上有什么更好的 - clone() 或使用 new 关键字的实例化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/611064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com