簡體   English   中英

C#中的默認方法參數

[英]Default method parameters in C#

如何使方法具有參數的默認值?

您只能在C#4中執行此操作,它引入了命名參數和可選參數

public void Foo(int x = 10)
{
    Console.WriteLine(x);
}

...
Foo(); // Prints 10

請注意,默認值必須是常量 - 正常的編譯時常量(例如文字)或:

  • 值類型的無參數構造函數
  • 某些類型T default(T)

另請注意,默認值嵌入在調用者的程序集中(假設您省略了相關參數) - 因此,如果更改默認值而不重建調用代碼,您仍將看到舊值。

這個(以及C#4中的其他新功能)將在深度C#第二版中介紹。 (本案第13章。)

C#4.0允許您使用命名和可選參數

public void ExampleMethod(
    int required, 
    string optionalstr = "default string",
    int optionalint = 10
)

在以前的版本中,您可以使用方法重載來模擬默認參數

您只需使用默認值聲明它們 - 它們稱為可選參數

 public void myMethod(string param1 = "default", int param2 = 3)
 {
 }

這是在C#4.0中引入的(因此您需要使用visual studio 2010)。

一個簡單的解決方案是重載方法:

private void Foo(int length)
{
}

private void Foo()
{
    Foo(20);
}

暫無
暫無

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

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