下面这段代码执行后,为什么结果是A string,而不是string being converted.?
class   Class1       
 {    
       private   string   str   =    "Class1.str ";    
       static   void   StringConvert(string   str1)    
             {    
                   str1   =    "string   being   converted. ";    
             } 
       static   void   Main()       
             {    
                      string   str   =    "A   string "; 
                      StringConvert(str); 
                      Console.WriteLine(str);   //   运行结果是:A   string 
             } 
 }   
 我在机器上运行了上面的代码,发现结果是A   string,而不是我想象中的string   being   converted.不知道为什么? 
 我认为当执行过StringConvert方法后,局部变量str作为实际参数由原来的值A   string就变成了string   being   converted.当输出时,自然就是string   being   converted.了。可是机器上显示的却是A   string。不知道为啥?请帮我看一下,谢谢了! 
------解决方案--------------------至于原因也说下吧:   
 string str =  "A string "; 
 str指向 "A string "   
 static void StringConvert(string str1)  
     {  
       str1 =  "string being converted. ";  
     } 
 这时str1先指向 "A string ",但是当重新赋值str1 =  "string being converted. "; 后,会另外分配一块地址,存放 "string being converted ",并且str1指向它..   
 但str的指向并没有变,始终指向 "A string "..