zoukankan      html  css  js  c++  java
  • 内存堆栈和托管堆简单例子理解

    http://www.cnblogs.com/John-Connor/archive/2012/04/13/2443765.html 中的例子

    Member member1 = new Member { Name = "Marry", Num = "001" }; Member member2 = member1; member1.Name = "John"; Console.WriteLine("member1.Name={0} member2.Name={1}",member1.Name,member2.Name); int i = 1; object o = i; object o2 = o; o = 2; Console.WriteLine("o={0} o2={1}", o, o2); string str1 = "Hello"; string str2 = str1; str1 = "Hello,World!"; Console.WriteLine("str1={0} str2={1}", str1, str2); Console.ReadKey();

    结果:member1.Name=John member2.Name=John; o=2 o2=1  以及str1=Hello,World! str2=Hello 


    上面的例子其实都是两个实例都指向同一个地址,只不过第一个只是对对象成员赋值,地址没有改变。而第二和第三个地址经过
    o=2和str1 = "Hello,World!"导致重新分配了内存地址而引用改变,所以会出现上边的结果。
  • 相关阅读:
    C#进阶-Linq-join
    C#进阶-Linq
    C#-string-stringBuilder
    C#-继承-多态
    Spring基础
    JQuery基本操作
    Oracle数据库基础操作
    AJAX前端后端
    AJAX异步提交(前端)
    js基本操作
  • 原文地址:https://www.cnblogs.com/nearpengju123/p/4224391.html
Copyright © 2011-2022 走看看