今天偶然看了一下C#4.0的新特性, 第一个新特性就令我兴奋不已, 曾经一度令我使用C#很不习惯的"死参数"问题终于搞定了.
实在太爽了!过去用C++, VB.NET的时候都很爽, 开始用C#了发现怎么没有这个功能, 令我很难受, 一直不明白是C#设计的问题还是其中实现起来太复杂啊, 不过这回终于OK了.
代码
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 补充:在使用命名参数时, 如果使用多个可选参数, 必须都放在参数列表的最后.而且在调用方法时, 可以选择对可选参数进行赋值, 如下: 代码
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!可见, 可选参数选择使用时, 用参数名+":"去直接命名强制使用.