MemberwiseClone() 是 C# 中的一个方法,用于创建当前对象的浅拷贝(shallow copy)。它属于 System.Object 类,因此所有 C# 对象都可以调用该方法。
1. MemberwiseClone() 的含义
浅拷贝:MemberwiseClone() 会创建一个新对象,并将当前对象的所有字段复制到新对象中。对于值类型字段,直接复制值;对于引用类型字段,复制的是引用(即新对象和原对象共享相同的引用类型实例)。
返回类型:返回一个 object 类型,因此通常需要将其强制转换为目标类型。
2. 示例代码
public class Person
{
public string Name;
public int Age;
public Address Address;
public Person ShallowCopy()
{
return (Person)this.MemberwiseClone();
}
}
public class Address
{
public string City;
public string Street;
}
class Program
{
static void Main()
{
Person person1 = new Person
{
Name = "John",
Age = 30,
Address = new Address { City = "New York", Street = "5th Avenue" }
};
Person person2 = person1.ShallowCopy();
Console.WriteLine(person1.Address.City); // 输出: New York
Console.WriteLine(person2.Address.City); //

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



