簡體   English   中英

C# 函數和可選參數

[英]C# functions and optional parameters

我知道在 C# 中可以定義可選參數。 我的問題是針對這有多靈活。

設 f 為 a function,如下所示, a 為必填項, bc可選:

class Test {
   public void f(int a, int b = 2, int c = 3) {
      //...
   }
}

現在,我知道我可以通過以下方式撥打 function:

f(1) -> a 等於 1,b 等於 2,c 等於 3

f(11,22) -> a 等於 11,b 等於 22,c 等於 3

f(11,22,33) -> a 等於 11,b 等於 22,c 等於 33

我該怎么做才能不指定b ,而是指定ac

嘗試:

f(11, c: 33)

並查看文檔

您可以在參數前添加參數名稱:

f(1, c:3);

使用命名參數

f(a: 5, c: 6);

雖然,嚴格來說,在我的例子中,你沒有資格a:

f(5, c: 6);

另一種可能性是用其他參數定義方法,並使用以下語法用它們調用原始方法:

public void f(int a, int c = 3) => f(a, 2, c)

如果您調用它,則使用起來會更舒適,但如果您有兩個以上的可選參數,則定義起來會很麻煩。

您使用命名參數:

f( a:100, c:300);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM