c# - 不可变对象(immutable对象)中的浅拷贝与深拷贝

标签 c# immutability deep-copy shallow-copy

早上好,下午好,还是晚上好,

当将给定类实现为不可变类时,没有任何方法或属性以任何方式公开私有(private)/内部字段,浅复制是一种不好的做法,或者它可以毫无问题地完成,因为它可能需要更少的对象被实例化?

非常感谢。

最佳答案

一般来说(这可能有一些异常(exception)),如果您的类型是完全不可变的,则根本不需要复制它,无论是浅的还是深的。您可以只传递原始实例。

适当不可变类型的一大优势是我可以将相同的实例传递给所有消费者,安全地知道他们都不能为另一个消费者改变它和破坏它。

关于c# - 不可变对象(immutable对象)中的浅拷贝与深拷贝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5395501/

相关文章:

java - java中的不可变类

Python 作用域可变与不可变

javascript - 如何一成不变地改变状态 React

flutter - 在嵌套 map 内的列表中添加和删除值会影响所有嵌套 map

javascript - 使用 JSON.stringify 进行深度比较和克隆是否合适?

c# - Windows Metro 应用程序中缺少 XPath

c# - 无法在 C# 中加载类型

c# - C#中的整数转换

c# - 我们应该对 HtmlString 使用编码吗?

c++ - 拷贝构造函数、深拷贝、常量引用