後保持不變據我所知字符串是引用類型,當你發送一個引用類型的功能,如果你改變它的價值,原始對象的值會發生變化,但爲什麼當我打電話更改功能原始字符串保持不變。但是當我有一個類的對象並將其發送給一個函數時,它的原始值將會改變。這裏有一個例子:爲什麼字符串值保持調用函數
static void Main(string[] args)
{
string x = "Hi";
Change(x);
Console.WriteLine(x);
var y = new Test();
y.Str = "Hi";
Change(y);
Console.WriteLine(y.Str);
Console.ReadKey();
}
static void Change(string str)
{
str = "Test";
}
static void Change(Test x)
{
x.Str = "Test";
}
輸出是「Hi」,而不是「測試」的字符串,但對測試對象是「測試」
字符串是不可變的 –
@TimSchmelter真的,但它不是這個特定問題的答案。 –
https://msdn.microsoft.com/en-us/library/0f66670z.aspx – SquidScareMe