using System;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
// 浅拷贝
public Person ShallowCopy()
{
return (Person)this.MemberwiseClone();
}
// 深拷贝
public Person DeepCopy()
{
Person other = (Person)this.MemberwiseClone();
// 如果有引用类型成员,需要手动复制
// 例如:other.SomeReferenceTypeProperty = new SomeType(this.SomeReferenceTypeProperty);
return other;
}
}
class Program
{
static void Main()
{
Person original = new Person { Name = "Alice", Age = 30 };
// 浅拷贝
Person shallowCopied = original.ShallowCopy();
Console.WriteLine($"Original: {original.Name}, {original.Age}");
Console.WriteLine($"Shallow Copied: {shallowCopied.Name}, {shallowCopied.Age}");
// 深拷贝
Person deepCopied = original.DeepCopy();
Console.WriteLine($"Deep Copied: {deepCopied.Name}, {deepCopied.Age}");
}
}
浅拷贝 (ShallowCopy):
MemberwiseClone() 方法创建对象的浅拷贝。深拷贝 (DeepCopy):
示例代码:
Person 类,并实现浅拷贝和深拷贝方法。Main 方法中,演示如何使用这两个方法进行对象的复制。上一篇:c#界面开发
下一篇:c# split 多个字符
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站