浅拷贝和深拷贝是在C#中进行对象复制时经常讨论的概念。深入理解这两个概念对于正确地处理对象的拷贝和引用非常重要。本文将详细介绍浅拷贝和深拷贝的概念,并提供相应的源代码示例。
浅拷贝是指创建一个新对象,该对象的字段值是当前对象字段值的副本。换句话说,浅拷贝只复制对象的字段值,并不复制字段引用的对象本身。因此,新对象和原始对象将引用相同的对象。这意味着如果修改了新对象中引用对象的字段,原始对象的字段也会受到影响。浅拷贝通常使用MemberwiseClone()
方法来实现。
下面是一个示例代码,演示了浅拷贝的行为:
class Person
{
public string Name;
public Address Address