WEB开发网
开发学院软件开发C语言 C# Tips-浅拷贝和深拷贝(shallow copy VS deep co... 阅读

C# Tips-浅拷贝和深拷贝(shallow copy VS deep copy )

 2009-05-14 08:28:26 来源:WEB开发网   
核心提示: 代码实现如下:public class Person:ICloneable { public int Age { get; set; } public string Address { get; set; } public Name Name { get; set; } public ob

代码实现如下:

 public class Person:ICloneable
    {
        public int Age { get; set; }
        public string Address { get; set; }
        public Name Name { get; set; }

        public object Clone()
        {
            Person tem = new Person();
            tem.Address = this.Address;
            tem.Age = this.Age;

            tem.Name = new Name(this.Name.FristName, this.Name.LastName);

            return tem;
        }
    }


    public class Name
    {
        public Name(string frisName, string lastName)
        {
            FristName = frisName;
            LastName = lastName;
        }
        public string FristName { get; set; }
        public string LastName { get; set; }
    }

大家可以看到,Person类继承了接口ICloneable并手动实现了其Clone方法,这是个简单的类,试想一下,如果你的类有成千上万个引用类型成员(当然太夸张,几十个还是有的),这是不是份很恐怖的劳力活?

序列化/反序列化类实现

不知道你有没有注意到DataSet对象,对于他提供的两个方法:

DataSet.Clone 方法,复制 DataSet 的结构,包括所有 DataTable 架构、关系和约束。不要复制任何数据。

上一页  1 2 3 4  下一页

Tags:Tips 拷贝 拷贝

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接