要实现浅复制,只需要调用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 + " ");
}
}
}