C# 程式設計/關鍵字/ref
外觀
< C Sharp 程式設計 | 關鍵字
ref 關鍵字明確指定變數應以引用方式而不是值方式傳遞。
開發人員可能希望以引用方式傳遞變數,特別是在值型別的情況下。如果變數以引用方式傳遞,實際上只會將指標傳送到函式,從而減少方法呼叫的成本,因為方法呼叫通常會涉及複製大量資料,而 C# 在通常傳遞值型別時會這樣做。
以引用方式傳遞變數的另一個常見原因是讓被呼叫方法修改其值。由於允許這樣做,C# 始終強制指定以引用方式傳遞的值,即使在方法呼叫中也是如此,而許多其他程式語言則沒有這樣做。這使開發人員能夠輕鬆地識別程式碼中可能暗示型別的值在方法中已更改的位置,這在分析程式流程時非常有用。
以引用方式傳遞值並不意味著被呼叫方法必須修改該值;有關此問題,請參閱out 關鍵字。
以引用方式傳遞要求傳遞的變數已初始化。
以下是以引用方式傳遞變數的示例
void CallingMethod()
{
int i = 24;
if (DoubleIfEven(ref i))
Console.WriteLine("i was doubled to {0}", i); // outputs "i was doubled to 48"
}
bool DoubleIfEven(ref int iValue)
{
if (iValue%2 == 0)
{
iValue *= 2;
return true;
}
return false;
}
| C# 關鍵字 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 特殊的 C# 識別符號(上下文關鍵字) | |||||||||||||||
| |||||||||||||||
| 上下文關鍵字(用於查詢) | |||||||||||||||
|