C#终于支持可选参数了!

今天偶然看了一下C#4.0的新特性, 第一个新特性就令我兴奋不已, 曾经一度令我使用C#很不习惯的"死参数"问题终于搞定了.
实在太爽了!

过去用C++, VB.NET的时候都很爽, 开始用C#了发现怎么没有这个功能, 令我很难受, 一直不明白是C#设计的问题还是其中实现起来太复杂啊, 不过这回终于OK了.

 

ExpandedBlockStart.gif 代码
 1       class  Program
 2      {
 3           static   void  Main( string [] args)
 4          {
 5              Show();
 6              Show( "TonyKent " );
 7              Console.ReadLine();
 8          } 
 9 
10           public   static   void  Show( string  msg  =   "" )
11          {
12              Console.WriteLine( " Hello {0} " ,msg);
13          }
14      }

 

参数默认值, 有了这个, 好多方法的重载可以减少了~ 

2010-09-06  补充:
在使用命名参数时, 如果使用多个可选参数, 必须都放在参数列表的最后.
而且在调用方法时, 可以选择对可选参数进行赋值, 如下:

ExpandedBlockStart.gif 代码
 1  class  Program
 2  {
 3       static   void  Main( string [] args)
 4      {
 5          Show( " 2010-09-06 " );
 6          Show( " 2010-09-06 " " World " " Morning " );
 7          Show( " 2010-09-06 " , msg:  " Morning " );
 8          Console.ReadLine();
 9      } 
10 
11       public   static   void  Show( string  date,  string  name  =   " TonyKent " string  msg  =   "" )
12      {
13          Console.WriteLine( " {0} Hello {1} {2}! " , date, name, msg);
14      }
15  }

 

上面代码执行结果如下:
2010-09-06 Hello TonyKent!
2010-09-06 Hello World Morning!
2010-09-06 Hello  Morning!

可见, 可选参数选择使用时, 用参数名+":"去直接命名强制使用.

转载于:https://www.cnblogs.com/tonykent/archive/2010/04/26/1720895.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值