不可变对象中的浅与深拷贝

1 c# immutability deep-copy shallow-copy

早上好,下午或晚上,

当将一个给定的类实现为一个不可变的类,没有任何方法或属性以任何方式暴露私有/内部字段时,很容易复制一个不好的做法,或者它可以毫无问题地完成,因为它可能需要更少的对象来实例化?

非常感谢你.

Rob*_*ine 7

一般来说(并且可能存在一些例外情况),如果您的类型完全不可变,则很少需要复制它,浅或深.你可以传递原始实例.

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

  • @Gabe:你不能改变副本,它是不可变的:-) (3认同)