c#中的可选参数和命名参数的使用_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > c#中的可选参数和命名参数的使用

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

 2014/4/14 20:48:40  思思博士  博客园  我要评论(0)
  • 摘要:C#4.0之后出现了一个可选参数这个特性.1classCal2{3staticvoidMain(string[]args)4{5test1t=newtest1();6t.Add(20,13);7t.Add(14);8}910}11classtest112{13publicvoidAdd(inta,intb=1)14{15Console.WriteLine(a+b);16}17}执行结果:这个特性虽然好用,但是也不是随便就可以用的.现在看看这个特性的使用规则.1.可选参数不能是第一个参数
  • 标签: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     }

执行结果:

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

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     

执行结果:

 

 

发表评论
用户名: 匿名