2010-11-28 32 views
1
string ToString(); 
string ToString(IFormatProvider provider); 
string ToString(string format, IFormatProvider provider); 
+0

你能解釋一下你的問題嗎? – mike 2010-11-28 07:58:08

+0

使問題更清晰我認爲 – user496949 2010-11-28 08:21:47

回答

1

隨着編輯:

public override string ToString() 

提供最簡單的格式;它不允許格式說明符和文化是隱含的。但是顯示是基本的UI控件還是在調試過程中很方便。

2 argument version允許指定格式和文化,IFormattable接口通常由string.Format和UI控件進行檢查,這些控件允許開發人員指定要使用的格式(特別是在數據綁定期間)。

1參數版本沒有特別的意義;參考文檔,但在你給它的例子中,似乎只是允許指定文化。在大多數情況下,我真的期待

public string ToString(string format) 

更可能的是,默認情況下使用當前區域性(或兩者提供)。

0

(注:這個問題改變了... ...)

您可以總是覆蓋的ToString(除非一個基類的密封件),這樣你通常可以做東西 - 但是如果你想要格式說明符支持(即基於文本的模式,如「###,000」)IFormattable是路由 - 但你需要自己提供實現。請注意,在某些情況下,TypeConverter也可能有所幫助。

相關問題