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!"导致重新分配了内存地址而引用改变,所以会出现上边的结果。
  • 相关阅读:
    LDAP+Jenkins
    LDAP+SASL+SVN
    Ubuntu下的LDAP服务搭建
    LDAP+Confluence
    LDAP+Nextcloud
    vim -d
    linux默认编辑器
    vim相关调优
    MySQL中的保留字
    RHEL7配置ip地址
  • 原文地址:https://www.cnblogs.com/nearpengju123/p/4224391.html
Copyright © 2011-2022 走看看