我想要一個函數傳遞幾個變量,並將它們設置爲別的東西而不是從它們讀取。我打算在可以創建對象並將其添加到執行隊列的場景中使用它。指針是否適合這個?通過變量設置在C#
我知道我的問題有一個很差的解釋,但我不知道更好的解釋方法。
我想要一個函數傳遞幾個變量,並將它們設置爲別的東西而不是從它們讀取。我打算在可以創建對象並將其添加到執行隊列的場景中使用它。指針是否適合這個?通過變量設置在C#
我知道我的問題有一個很差的解釋,但我不知道更好的解釋方法。
public static void SetVariables(out int x, ref int y)
{
// Can't *read* from x at all before it's set
x = 10;
// Can read and write y
y++;
}
public static void Foo()
{
int setOnly;
int increment = 5;
SetVariables(out setOnly, ref increment);
Console.WriteLine("{0} {1}", setOnly, increment); // 10 6
}
請參閱我的parameter passing article瞭解更多信息。
聽起來就像我需要的,謝謝你的快速答案。 – HansiHE 2012-07-30 14:14:54
這些變量是引用類型還是值類型?如果它們是引用類型,那麼你可以按照正常的方式將它們傳遞給你的函數,然後從那裏改變它的屬性。如果它們是值類型,那麼您必須使用ref
鍵盤。
只需注意,如果它們是引用類型並且* assignment *是必需的,那麼'ref'也是必需的。 – 2012-07-30 14:14:45
我認爲你正在尋找關鍵字'ref'。鏈接:http://msdn.microsoft.com/en-us/library/14akc2c7(v=vs.71).aspx – SimpleVar 2012-07-30 14:12:32
你是新來的C#?我的建議是不要在C#中使用指針。 – Bernard 2012-07-30 14:13:12
是的,我很新C# – HansiHE 2012-07-30 14:15:17