zoukankan      html  css  js  c++  java
  • C#中引用类型几个小例子

    1.传递引用到方法中,会复制一个新的引用地址

     private void aa(Data data3) 

    {

          data3 = null;
    }

    Data data = new Data();

    data.name= "123";

    Data data2 = data;

    aa(data);

    MessageBox.Show(data.name + "," + data2.name);

    结果,123,123

    当将data传入aa方法中时,会产生一个新的引用地址data3(在栈中),指向和data相同的堆地址

    2.QQData tempData = new QQData();

                tempData.QQ = "123";

                lvMain.Items[0].Tag = tempData;

                tempData = null;

                QQData data2 = lvMain.Items[0].Tag as QQData;

                MessageBox.Show(data2.QQ);

    结果123

    3.string是一种特殊类型

    string aa = "123";

    string bb = aa;//在堆中没有分配新的内存空间,而是将bb的引用地址指向了和aa相同堆地址(bb引用是在栈中)

    bb = "234";//在堆中分配了新的内存空间,bb的引用指向了"234"

    MessageBox.Show(aa);

    结果123

  • 相关阅读:
    练习题
    作业2.6-2.15 两次作业
    11.13(2)
    11.13
    11.6
    10.30
    10.15
    10.9
    9.25号作业
    9.18号
  • 原文地址:https://www.cnblogs.com/slyzly/p/2435693.html
Copyright © 2011-2022 走看看