zoukankan      html  css  js  c++  java
  • 深拷贝-浅拷贝

    深拷贝-浅拷贝的概念就不说了,基础的东西! 实现如下:

    public class Person
        {
            public string Name
            {
                get;
                set;
            }
           
        
            public Car Car
            {
                get;
                set;
            }
    
            public Person ShallowClone()
            {
                //一句话实现浅拷贝。Object的方法
                return this.MemberwiseClone() as Person;
    
                //MemberwiseClone的作用就是把当前对象浅拷贝一份。
            }
    
            //通过序列化与反序列化会将当前对象实现一次深拷贝
            public Person DeepClone()
            {
                //类需要Serializable
                BinaryFormatter bf = new BinaryFormatter();
                using (MemoryStream ms = new MemoryStream())
                {
                    bf.Serialize(ms, this);
                    ms.Position = 0;
                    return bf.Deserialize(ms) as Person;
                }
            }
    
    
        }
        public class Car
        {
            public string Color
            {
                get;
                set;
            }
        }
    

      

  • 相关阅读:
    异步I/O
    path路径操作
    Buffer类
    ES6常用语法
    GitHub上的基本功能与概念
    git的基本命令
    HTML中的表单
    PyCharm的安装以及破解
    HTML中的表格
    HTML中的列表
  • 原文地址:https://www.cnblogs.com/entclark/p/8012210.html
Copyright © 2011-2022 走看看