c#中的可选参数和命名参数的使用

时间:2023-03-09 05:43:44
c#中的可选参数和命名参数的使用

C#4.0之后出现了一个可选参数这个特性.

  class Cal
{
static void Main(string[] args)
{
test1 t = new test1();
t.Add(, );
t.Add();
} }
class test1
{
public void Add(int a, int b = )
{
Console.WriteLine(a + b);
}
}

执行结果:

c#中的可选参数和命名参数的使用

这个特性虽然好用,但是也不是随便就可以用的.现在看看这个特性的使用规则.

1.可选参数不能是第一个参数,它必须位于所有必选参数之后;

2.可选参数必须指定一个默认值;

3.可选参数的默认值必须是一个常量表达式,不能为变量;

4.所有可选参数以后的参数必须是可选参数.

命名参数可以让我们在调用方式的时候,不用按照给定的顺序传参,而是根据指定的参数名来传参的.

  class test
{
static void Main(string[] args)
{
Point p = new Point();
Console.WriteLine(p.Cal(, ));//
Console.WriteLine(p.Cal(width:,length:));//
} } class Point{
public int Cal(int length,int width) {
if (length < width) {
return length * width;
}
return ;
}
}

执行结果:c#中的可选参数和命名参数的使用