命名引數
考慮以下是我們的函式呼叫。
FindArea(120, 56);
在這裡我們的第一個引數是長度(即 120),第二個引數是寬度(即 56)。我們正在通過該函式計算面積。以下是函式定義。
private static double FindArea(int length, int width)
{
try
{
return (length* width);
}
catch (Exception)
{
throw new NotImplementedException();
}
}
所以在第一個函式呼叫中,我們只是通過它的位置傳遞引數。對?
double area;
Console.WriteLine("Area with positioned argument is: ");
area = FindArea(120, 56);
Console.WriteLine(area);
Console.Read();
如果你執行它,你將得到如下輸出。
現在它來了一個命名引數的功能。請參閱前面的函式呼叫。
Console.WriteLine("Area with Named argument is: ");
area = FindArea(length: 120, width: 56);
Console.WriteLine(area);
Console.Read();
這裡我們在方法呼叫中給出命名引數。
area = FindArea(length: 120, width: 56);
現在,如果你執行此程式,你將得到相同的結果。如果我們使用命名引數,我們可以在方法呼叫中給出相反的名稱。
Console.WriteLine("Area with Named argument vice versa is: ");
area = FindArea(width: 120, length: 56);
Console.WriteLine(area);
Console.Read();
命名引數的一個重要用途是,當你在程式中使用它時,它可以提高程式碼的可讀性。它只是說明你的論點是什麼,或者是什麼?
你也可以給出位置引數。這意味著,位置引數和命名引數的組合。
Console.WriteLine("Area with Named argument Positional Argument : ");
area = FindArea(120, width: 56);
Console.WriteLine(area);
Console.Read();
在上面的例子中,我們傳遞了 120 作為長度,56 作為引數寬度的命名引數。
也有一些限制。我們現在將討論命名引數的限制。
使用命名引數的限制
在指定了所有固定引數後,必須出現命名引數規範。
如果在固定引數之前使用命名引數,則會出現如下編譯時錯誤。
在指定了所有固定引數後,必須出現命名引數規範