public void CopyFunction() { // 准备一个list List <CopyClassModel> list = new List <CopyClassModel> { }; for (int i = 0; i < 10; i++) { list.Add(new CopyClassModel { Id = i, Name = i + "One" }); } // 浅拷贝 //var newlist = new CopyClassModel[10]; //list.CopyTo(newlist); var newlist = list; // 深拷贝 var deepcopylist = DeepCopy.DeepCopyByBin(list); // 序列化的方式深拷贝 //把原对象改掉 foreach (var item in list) { item.Name = "update"; } //分别打印两个对象 System.Diagnostics.Debug.WriteLine("打印list"); foreach (var item in list) { System.Diagnostics.Debug.WriteLine(item.Name); } System.Diagnostics.Debug.WriteLine("打印newlist"); foreach (var item in newlist) { System.Diagnostics.Debug.WriteLine(item.Name); } System.Diagnostics.Debug.WriteLine("打印deepcopylist"); foreach (var item in deepcopylist) { System.Diagnostics.Debug.WriteLine(item.Name); } }