c#中的浅拷贝

时间:2013-02-03 19:22:00

标签: c#

我理解浅拷贝的定义

浅层复制正在创建一个新对象,然后将当前对象的非静态字段复制到新对象。如果字段是值类型 - >执行该字段的逐位复制;对于参考类型 - >复制引用但引用的对象不是;因此原始对象及其克隆引用相同的对象。

但是为什么不复制静态字段?

3 个答案:

答案 0 :(得分:8)

因为静态字段不是对象的一部分。您可以使用ClassName.StaticValue访问它们。实际上,您无法使用ClassInstanceName.StaticValue访问它们。

答案 1 :(得分:1)

静态字段由特定类的所有实例共享。

答案 2 :(得分:1)

因为静态成员是class级别成员而不是实例级别,这意味着静态成员对于给定类型的所有实例都是通用的。