.net高级技术—深拷贝和浅拷贝

1.浅拷贝:如果拷贝的时候,只是拷贝了一份引用,指向相同的对象,改变其中任意一个,都会发生改变,就是浅拷贝

    深拷贝:如果拷贝的时候,拷贝的是值类型数据,那么仅仅是拷贝值,重新复制了一份出来,改变复制出来的那份,和原来拷贝的那份没有任何的关系,这就是深拷贝

程序演示过程:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 深拷贝与浅拷贝
{
    class Program
    {
        static void Main(string[] args)
        {
            Person p1 = new Person()
            {
                Name="w1111j"
                ,Age=12
            };
            Person p2 = p1;//浅拷贝,只是复制了一个和p1一样的引用,指向和p1相同的对象
            Person p3 = new Person();
            p3.Name = p1.Name;//深拷贝(值类型)
            p3.Age = 3;
            Console.WriteLine(p1.Name+""+p1.Age+""+p2.Age+p2.Name+""+p3.Name+""+p3.Age);
            Console.ReadKey();
        }
    }
    public class Person
    {
        public string Name { get; set; }
        public int Age { get; set; }
    }
}

---本博客是学习以后记录知识,如有侵权,请联系删除!!!

おすすめ

転載: blog.csdn.net/qq_33407246/article/details/88783199