C# 数组的Clone

 

//值类型的数组Clone是深拷贝
            int[] a = new int[] { 1, 2, 3, 4 };
            int[] b = (int[])a.Clone();
            b[0] = 5;
            Assert.AreEqual(a[0], 1);

            //值类型的数组Clone是浅表拷贝
            MyClass[] ma = new MyClass[] { new MyClass() { a = 1 }, new MyClass() { a = 2 } };
             MyClass[] mb = (MyClass[])ma.Clone();
            mb[0].a = 5;
            Assert.AreEqual(ma[0].a, 5);

posted @ 2021-03-04 16:54  mdgoogle  阅读(481)  评论(0编辑  收藏  举报