数组的Clone方法
public void Test() { var arr1=new[]{1,2,3}; var arr2 = arr1; var arr3 = (int[])arr1.Clone(); //浅拷贝 arr1[0] = 4; //arr2[0]已改变为4,arr3[0]未改变 var arr4 = new[] { new Person(),new Person(),new Person() }; var arr5 = arr4; var arr6 = (Person[])arr4.Clone(); arr4[0].Id = 2; // //arr5[0].Id已改变为"2",arr6[0].Id由于Person是引用类型,那么浅拷贝后与原对象指向的堆中的数据相同,故而,也已改变为2 } public class Person { public int Id { get; set; } }