【问题标题】:Shallow copy in c#c#中的浅拷贝
【发布时间】:2013-02-03 19:21:59
【问题描述】:

我明白浅拷贝的定义

浅拷贝是创建一个新对象,然后将当前对象的非静态字段复制到新对象中。如果一个字段是一个值类型 --> 对该字段进行逐位复制;对于引用类型 --> 引用被复制但被引用的对象不是;因此原始对象和它的克隆引用同一个对象。

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

【问题讨论】:

    标签: c#


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-04-12
          • 1970-01-01
          • 2015-01-13
          • 2011-09-05
          • 1970-01-01
          • 1970-01-01
          • 2012-07-06
          相关资源
          最近更新 更多