2
所以後改變我顯然相當新的編程,但我想弄清楚這是爲什麼不工作C# - 這是爲什麼變量沒有被通過的方法被放在
我試圖採取字符串myname,並將先生添加到它的開始。我知道我可以做到這一點只是myname = "Mr. " + myname
但是我想了解如何使用方法來更改變量的值。那麼,爲什麼不改變呢?
public class Program
{
public static void Main(string[] args)
{
string myname = "harry";
Console.WriteLine(myname); //output is harry
namechanger(myname); //this should modify harry to Mr. Harry
Console.WriteLine(myname); //output is still harry?
}
static string namechanger(string name)
{
name = "Mr. " + name;
return name;
}
}
所有類型都以這種方式工作,不僅僅是原始類型...... – aquinas
也許是一種迂腐的意義,但用'class'和'struct'調用一個方法會傳遞非常不同的值 - 一個是指針,一個是整個結構。 「通過價值」和「通過參考」是用來區分行爲差異的術語。 – Knetic
@ Knetic - 不,那是不對的。 aquinas是正確的。 – Enigmativity