命名引數

考慮以下是我們的函式呼叫。

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();

如果你執行它,你將得到如下輸出。

StackOverflow 文件

現在它來了一個命名引數的功能。請參閱前面的函式呼叫。

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 作為引數寬度的命名引數。

也有一些限制。我們現在將討論命名引數的限制。

使用命名引數的限制

在指定了所有固定引數後,必須出現命名引數規範。

如果在固定引數之前使用命名引數,則會出現如下編譯時錯誤。

StackOverflow 文件

在指定了所有固定引數後,必須出現命名引數規範