傳遞參數 (C# 程式設計手冊)
在 C# 中,引數可以藉由傳值 (By Value) 或傳址 (By Reference) 方式來傳遞至參數。 以傳址方式傳遞,可讓函式成員、方法、屬性、索引子、運算子及建構函式變更參數的值,並在呼叫環境中保存該變更。 若要以傳址方式傳遞參數,請使用 ref 或 out 關鍵字。 為了簡化,所以本主題的範例中只使用 ref 關鍵字。 如需 ref 與 out 之間差異的詳細資訊,請參閱 ref (C# 參考)、out (C# 參考) 和使用 ref 和 out 傳遞陣列 (C# 程式設計手冊)。
下列範例會說明值和參考參數之間的差異。
class Program
{
static void Main(string[] args)
{
int arg;
// Passing by value.
// The value of arg in Main is not changed.
arg = 4;
squareVal(arg);
Console.WriteLine(arg);
// Output: 4
// Passing by reference.
// The value of arg in Main is changed.
arg = 4;
squareRef(ref arg);
Console.WriteLine(arg);
// Output: 16
}
static void squareVal(int valParameter)
{
valParameter *= valParameter;
}
// Passing by reference
static void squareRef(ref int refParameter)
{
refParameter *= refParameter;
}
}
如需詳細資訊,請參閱下列主題:
C# 語言規格
如需詳細資訊,請參閱 C# 語言規格。 語言規格是 C# 語法和用法的決定性來源。