public void Test()
{
var arr1=new[]{,,};
var arr2 = arr1;
var arr3 = (int[])arr1.Clone(); //浅拷贝
arr1[] = ;
//arr2[0]已改变为4,arr3[0]未改变 var arr4 = new[] { new Person(),new Person(),new Person() };
var arr5 = arr4;
var arr6 = (Person[])arr4.Clone();
arr4[].Id = ;
// //arr5[0].Id已改变为"2",arr6[0].Id由于Person是引用类型,那么浅拷贝后与原对象指向的堆中的数据相同,故而,也已改变为2
} public class Person
{
public int Id { get; set; }
}
相关文章
- Kotlin:数组的基本操作
- Mac OS X完整卸载Node.js,并重新安装的方法
- 如何将一个numpy数组分割成固定大小的块,是否有重叠?
- 让你的作品更出色——词云Word Cloud的制作方法(基于python,WordCloud,stylecloud)
- 两个月15斤以上的健康减脂减重法,与饥饿、运动等无关的自我实验的验证方法(第二篇)...
- 好的提高代码质量的方法有哪些?有什么经验和技巧?
- Java 缺失的特性:扩展方法
- Java 定时线程池各个方法的区别 Java周期执行线程池各个方法的区别 ScheduledExecutorService schedulerService
- 常见的js加密/js解密方法
- pytest学习和使用23-通俗易懂的聊聊allure常用特性集合及使用方法说明