📜  如何在 C# 中调用非尾随参数作为默认参数?

📅  最后修改于: 2022-05-13 01:55:23.951000             🧑  作者: Mango

如何在 C# 中调用非尾随参数作为默认参数?

C# 为函数提供了一个很棒的特性,即函数参数可以具有默认值。当一个函数在没有参数的情况下被调用时,参数获取它的默认值。或者换句话说,默认参数是在方法声明中提供的值,如果在函数调用期间未提供参数的值,则自动分配该值,则将为参数分配默认值。默认值是使用 assignment(=)运算符分配的,例如“keywordname = value”。

  • 默认参数的默认值是一个常量表达式。
  • 每个默认参数都有一个默认值,这是其定义的一部分。
  • 默认参数始终定义在方法中参数列表的末尾。当我们使用除最后一个参数以外的默认参数时,编译器会报错。
  • 它也被称为选项参数。

句法:

public void methodName(arg1, arg2, arg3 = default_Value, arg4 = default_Value)

调用非尾随参数和默认参数

当我们将非尾随参数称为默认参数时,通常它不会按预期工作。通过下面的例子可以更好地理解。

在这里,我们想将 100 分配给 a,将 200 分配给 c,并保留 b 的默认值,但实际发生的是 100 分配给 a,200 分配给 b,而 c 保留其默认值。在调用 defArg() 方法时,我们可以调用 b(即非尾随参数)作为默认参数,方法是在 b 之后的参数使用 parameter_name 和冒号

方法:

C#
static void defArgs(int a, int b = 1, int c = 2, int d = 3){}


输出
defArgs(100, c:200);