C#函数中是否可以使用可选参数

本文关键字:参数 可以使 函数 是否 | 更新日期: 2023-09-27 17:59:07

我需要一个有两个参数的函数。

public void funx(string a, string b)
{
 // operations using string a and b
}

是否可以只使用第一个参数"a"来调用方法funx()。如果在函数调用过程中没有输入第二个参数"b",它应该采用一个可以在fun x中设置的默认值(对于b)。如果我用两个参数a&b,则应在跳过默认值集(对于"b")时使用我在函数调用中提供的值。

简单地说,"b"是可选的。如果输入,则应使用其值。如果未输入,则应使用默认值

C#函数中是否可以使用可选参数

当然,像这样:

public void funx(string a, string b = "default value")
{ 
   // operations using string a and b
}

如果给b一个默认值,那么它就是可选的,这样就可以通过提供一个参数来调用方法。如果您没有提供b的值,则将使用默认值,如果您提供了值,则默认值将被忽略。

此外,可选参数的默认值必须是编译时间常数,可选参数在参数列表的末尾定义。您可以参考文档了解更多详细信息。

是的,有可能

public void funx(string a, string b = "")
{
}

但我更喜欢过载的功能,比如:

public void funx(string a)
{
   this.funcx(a, "default");
}
public void funx(string a, string b)
{
 // operations using string a and b
}
相关文章: