zoukankan      html  css  js  c++  java
  • c# 对象深拷贝

    using System;
    using System.Collections.Generic;

    public class MyClass
    {
        class InstanceA : ICloneable
        {
            public int x;
            public InstanceB B;
            public InstanceA() { }
            public InstanceA(int X, InstanceB b)
            {
                this.x = X;
                this.B = b;
            }
            object ICloneable.Clone()
            {
                return this.Clone();
            }
            public InstanceA Clone()
            {
                InstanceA A = this.MemberwiseClone() as InstanceA;
                A.B = this.B.Copy();
                return A;   //深复制
                //  return (InstanceA)this.MemberwiseClone();  //浅复制
                //return new InstanceA(this.x,this.B);     //use this can't get deep copy too..

            }
        }
        class InstanceB
        {
            public int y;
            public InstanceB Copy()
            {
                return this.MemberwiseClone() as InstanceB;
            }
        }

        public static void Main()
        {
            InstanceA obj1 = new InstanceA();
            obj1.x = 1;
            obj1.B = new InstanceB();
            obj1.B.y = 2;

            InstanceA obj2 = obj1.Clone();
            obj2.x = 3;
            obj2.B.y = 4;
            Console.WriteLine("Obj1.x is:{0} \t obj1.B.y={1}", obj1.x, obj1.B.y);
            Console.WriteLine("Obj2.x is:{0} \t obj2.B.y={1}", obj2.x, obj2.B.y);
            Console.ReadLine();
        }
    }

  • 相关阅读:
    spark hbase
    Benchmark简介
    Flink的安装配置
    Hive入门及常用指令
    hadoop+yarn+hbase+storm+kafka+spark+zookeeper)高可用集群详细配置
    Linux最常用的命名
    数据库的零散的总结
    DBA总结
    MySQL主从架构配置
    mysql主从读写分离,分库分表
  • 原文地址:https://www.cnblogs.com/xianzuoqiaoqi/p/1512042.html
Copyright © 2011-2022 走看看