Optional and named parameters特性在有些場合提供很大的方便,特別是Office開發中可以告別一坨System.Reflection.Missing了。這裡簡單了解一下C#4.0中的Optional and named parameters。
在VS2010 CTP中的C#4.0編譯器調試通過,正式版可能會有些變化。
1.使用示例
class Program
{
static void Main(string[] args)
{
Test t = new Test();
t.OptionalAndNamedParams(1);
t.OptionalAndNamedParams(2, "a");
t.OptionalAndNamedParams(3, c: "b", b: "a");
t.OptionalAndNamedParams(4, c: "http://g.cn");
}
}
class Test
{
// a為必選參數;b,c為可選參數
public void OptionalAndNamedParams(int a, string b = "", object c = "http://xianfen.Net")
{
Console.WriteLine("a:{0}, b:{1}, c:{2}", a, b, c);
}
}
運行結果為:
使用中的注意事項:
當必選參數與可選參數在同一個方法中混合使用時,必選參數的聲明應該放在可選參數的前面。
可選參數的初始值必須是一個在編譯期可確定的常量。
可選參數不可用ref,out等修飾符。
如果全部顯式指定參數名(paraName:value),參數的順序可以任意調整。