在論壇上經常看到C#裡有沒有缺省參數的問題,在C# Team的blog裡看到Eric Gunnerson的一篇文章Why doesn't C# support default parameters?
看完後想起原來用Reflector反編譯看Int32的ToString函數的時候,三個重載的函數代碼分別是:
public override string ToString(){ return this.ToString(null, null);}public string ToString(string format){ return this.ToString(format, null);}public string ToString(string format, IFormatProvider provider){ return Number.FormatInt32(this.m_value, format, NumberFormatInfo.GetInstance(provider));}當時只是想這樣的定義可以減少代碼量,在調用時比較一致等,但是沒想到還和缺省參數有關系