zoukankan      html  css  js  c++  java
  • C#如何改对象为引用对象

    c#中的类的实例都是引用类型,用简单的赋值运算符“=”无法创建它的副本,比如:

    classa  a=new classa();

    classa b=a;

    a和b指向的是同一块内存。所以与我们的本意不符。我们的本意是想重新开辟内存以保存a的值。这时候可以使用object类的一个protect 方法  MemberwiseClone();由于是保护的方法,所以你要给自己的类创建一个clone方法。如下例:


       public class ClassA:Object
        {
           public int ab;
           public  ClassA(int a)
            {
                ab = a;
            }
           public ClassA clone()
           {
               return (ClassA)this.MemberwiseClone();
           }
        }
            private void button1_Click_1(object sender, EventArgs e)
            {
                ClassA a=new ClassA(15);
                ClassA aa = new ClassA(12);
                a = (ClassA)aa.clone();
                aa.ab = 13;
                MessageBox.Show(a.ab.ToString());
          
            }

    结果是 12

  • 相关阅读:
    POJ-1321-棋盘问题
    HDU-2553-N皇后问题
    POJ-1502-MPI Maelstrom
    POJ-3268-Silver Cow Party
    POJ-1125-Stockbroker Grapevine
    SPFA算法模板
    邻接表
    关于apache做301的问题
    在eclipse中使用正则表达式进行搜素
    sprintf数据库查询的作用
  • 原文地址:https://www.cnblogs.com/loushangshaonian/p/3523627.html
Copyright © 2011-2022 走看看