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

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

 1  class Cal

 2     {

 3         static void Main(string[] args)

 4         {

 5             test1 t = new test1();

 6             t.Add(20, 13);

 7             t.Add(14);

 8         }

 9 

10     }

11     class test1

12     {

13         public void Add(int a, int b = 1)

14         {

15             Console.WriteLine(a + b);

16         }

17     }

执行结果:

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

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

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

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

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

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

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

 

 1  class test

 2     {

 3         static void Main(string[] args)

 4         {

 5             Point p = new Point();

 6             Console.WriteLine(p.Cal(200, 100));//0

 7             Console.WriteLine(p.Cal(width:200,length:100));//20000

 8         }

 9 

10     }

11   

12     class Point{

13         public int Cal(int length,int width) {

14             if (length < width) {

15                 return length * width;

16             }

17             return 0;

18         }

19     }

20     

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

 

 

你可能感兴趣的:(C#)