C#字符串引用类型?
我知道C#中的“String”是一个引用类型。这是在MSDN上。但是,该代码不能正常工作:
class Test{ public static void Main() { string test = "before passing"; Console.WriteLine(test); TestI(test); Console.WriteLine(test); } public static void TestI(string test) { test = "after passing"; }}
输出应该是“传递”后的“传递”,因为我将字符串作为参数传递,并且它是一个引用类型,第二个输出语句应该识别Testi方法中的文本发生了变化。然而,我得到“在传递”之前,然后通过“使它似乎是通过价值传递,而不是由参考。我明白字符串是不可变的,但我看不出这怎么解释这里发生的事情。我遗漏了什么?谢谢。
相关分类