C#字符串地址问题,请指教!
static   void   Main(string[]   args) 
                         { 
                                     string   A   =    "hello "   +    "world "; 
                                     string   B   =    "helloworld "; 
                                     A   =    "hello "; 
                                     Console.Write(B); 
                                     Console.ReadLine(); 
                         }   
 A   和   B   的地址   是一样的: 
 ILDASM的内容: 
 .method   /*06000001*/   private   hidebysig   static    
                         void      Main(string[]   args)   cil   managed 
 { 
       .entrypoint 
       //   Code   size                     33   (0x21) 
       .maxstack      1 
       .locals   /*11000001*/   init   ([0]   string   A, 
                                  [1]   string   B) 
       IL_0000:      nop 
       IL_0001:      ldstr                   "helloworld "   /*   70000001   */ 
       IL_0006:      stloc.0 
       IL_0007:      ldstr                   "helloworld "   /*   70000001   */ 
       IL_000c:      stloc.1 
       IL_000d:      ldstr                   "hello "   /*   70000017   */ 
       IL_0012:      stloc.0 
       IL_0013:      ldloc.1 
       IL_0014:      call                     void   [mscorlib/*23000001*/]System.Console/*01000012*/::Write(string)   /*   0A000010   */ 
       IL_0019:      nop 
       IL_001a:      call                     string   [mscorlib/*23000001*/]System.Console/*01000012*/::ReadLine()   /*   0A000011   */ 
       IL_001f:      pop   
 在把   hello   附给A   的时候   A   是不是另开辟的一个空间? 
 不然输出的B   为什么不是Hello? 
------解决方案--------------------是的   
 虽然A跟B初时都是 "helloworld ",但是是不同的引用,他们是没有关系的,所以你文的B的输出跟A扯不上任何关系
------解决方案--------------------那是当然,其实.net是这样作的。 
 原则:如果内存有那个空间,就指向它,如果没有,创建再指向。
------解决方案--------------------原则:如果内存有那个空间,就指向它,如果没有,创建再指向。 
 学习。。。。。
------解决方案--------------------.net中的string类型是一种只读的引用类型   
 string s = "ABC " 
 s =  "12345 " 
 这里实际上分配了两段内存 一个用来存放ABC 当你改变s的值时 实际上是新分配一段内存 值为12345 然后把s的指向指到了这个新的内存段 以前那段不能找到了 只有等待垃圾回收
------解决方案--------------------所以遇到变化频率比较大的字符串的操作 建议使用stringBuilder类来代替string类型
------解决方案--------------------