默认参数的 C# 程序
C# 允许函数参数具有默认值,例如称为默认参数的参数类型。或者换句话说,默认参数是一个参数,其值在方法声明中给出,如果在函数调用期间未指定参数的值,则该参数将被自动分配,则该参数将被分配一个默认值。在赋值(=)运算符的帮助下将默认值分配给参数,例如“argumentname=value”。
- 默认参数的值必须是常量。
- 它可以与方法、构造函数、委托等一起使用。
- 在使用默认参数和方法重载时应该小心,因为如果默认参数和重载方法之间存在歧义,编译器可能会抛出错误。
- 一旦默认值用于函数定义中的参数,所有后续参数也应该具有默认值,否则将引发错误。以下方法定义无效。
public void methodName(res1, res2 = defaultValue, res3)
这不是正确的函数定义,因为默认参数不应跟随普通参数。
句法:
public void methodName(name1, name2, name3 = defaultValue, name4 = defaultValue)
方法:
1.创建一个方法,例如 mydisplay()。现在,在方法定义中,使用 4 个参数,并在赋值运算符(=) 的帮助下为第 3 和第 4 个参数分配默认值。
static void mydisplay(int xx, int yy, int zz = 10, int aa = 4)
2.现在,从主方法调用带有不同数量参数的 mydisplay() 方法。例如:
mydisplay(200, 456), mydisplay(400, 300, 4562), mydisplay(450, 230, 6070, 234)
3. mydisplay() 方法在 Console.WriteLine() 方法的帮助下显示参数的值。
例子:
C#
// C# program to illustrate default arguments
using System;
class GFG{
// Driver code
public static void Main()
{
// Passing only two argument
mydisplay(200, 456);
// Passing three arguments
mydisplay(400, 300, 4562);
// Passing four arguments
mydisplay(450, 230, 6070, 234);
}
// Method with two normal and two default arguments
static void mydisplay(int xx, int yy,
int zz = 10, int aa = 4)
{
// Displaying the values
Console.WriteLine("The value of xx = " + xx + "," +
"The value of yy = " + yy + "," +
"The value of zz = " + zz + "," +
"The value of aa = " + aa);
}
}
输出:
The value of xx = 200,The value of yy = 456,The value of zz = 10,The value of aa = 4
The value of xx = 400,The value of yy = 300,The value of zz = 4562,The value of aa = 4
The value of xx = 450,The value of yy = 230,The value of zz = 6070,The value of aa = 234
说明:在上面的示例中,我们创建了一个名为 mydisplay 的方法,其中有四个参数,其中两个是普通参数,两个是默认参数。现在,在 mydisplay() 方法中,当通过传递两个参数(即 xx 和 yy)调用时,将为 zz 和 aa 分配默认值,并将传递的值分配给 xx 和 yy 。以类似的方式,当 xx 、 yy 和 zz被传递给函数时,aa 将被分配默认值,并且 xx、yy 和 zz 将被分配指定的值。