string ToString();
string ToString(IFormatProvider provider);
string ToString(string format, IFormatProvider provider);
答案 0 :(得分:1)
使用编辑:
public override string ToString()
提供最简单的格式;它不允许格式说明符,文化是隐含的。但是显示基本的UI控件或者在调试过程中是方便的。
2 argument version允许指定格式和文化,IFormattable接口通常由string.Format和UI控件检查,允许开发人员指定要使用的格式(特别是在数据绑定)。
1参数版本没有特殊意义;请参考文档,但在您给出的示例中,似乎只允许指定文化。在大多数情况下,我实际上会期待
public string ToString(string format)
更有可能,默认使用当前文化(或两者都提供)。
答案 1 :(得分:0)
(注意:问题已经改变了......)
您可以始终覆盖ToString(除非基类密封它),因此您通常可以执行某些事情 - 但是如果您想要格式说明符支持(即文本)基于模式,例如“###,000”)IFormattable是路线 - 但您需要自己提供实施。请注意,在某些情况下,TypeConverter也可能有所帮助。