A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

可不可以举个例子解释!

1 个回复

倒序浏览
本帖最后由 许庭洲 于 2012-7-17 11:26 编辑

要实现浅复制,只需要调用Object类的MemberwiseClone方法即可;
class Test
{
    public int Id { get; set; }
    public List<int> Data;
    public Test():this(0)
    {   }
    public Test(int id)
    {
        this.Id = id;
        Data = new List<int>();
    }
    public Test Clone()
    {
        return this.MemberwiseClone() as Test;
    }
}
class Program
{
    static void Main(string[] args)
    {
        Test d1 = new Test(10);
        d1.Data.Add(1);
        Test d2 = d1.Clone();
        d2.Data.Add(2);
        foreach (int item in d1.Data)
        {
            Console.Write(item + " ");           
        }
        Console.WriteLine();
        foreach (int item in d2.Data)
        {
            Console.Write(item + " ");
        }
    }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马