重新指定分配默認值的參數時,可以顯式地為指定參數名稱賦值,隱式指定的時候,是根據方法參數的順序,靠c#編譯器的推斷。
代碼示例:
代碼如下:
void M(int x=9,string s="a",DateTime dt = default(DateTime))
{...}
Main()
{
M();//使用默認值
M(8,"b")://隱式指定方法參數,沒有指定的使用默認值
M(6,"v",DateTime.Now);//同上
M(6,dt:DateTime.Now);//顯式的指定參數名稱,為指定的參數傳值
}
使用的指導原則:
1、可以為方法和有參屬性指定默認值
2、有默認值的參數,必須定義在沒有默認值的參數之後
3、默認參數必須是常量
4、ref 和 out參數不能指定默認值