日期:2014-05-17  浏览次数:20794 次

Why?小问题!三种一!

书中说,转 string 的三中方式,应该是:
1、XX.ToString();

2、Convert.ToString();

3、String.Format(xxx);

说第“3”种方式是推荐的!
我查MSDN 和 Reflector。
怎么也看不出他是有什么好处!
请问,这是为啥的哈?

------解决方案--------------------
没有什么好不好的。
一般用第一种方式。
第二种方式适合内置的基本类型。
第三种方式顾名思义,适合格式化文本,比如说你有多个值,或者按照某种格式(保留几个小数,以什么时间格式等)输出。
------解决方案--------------------
这个确实没啥好处可言,看具体使用场景。
第一个和第二个相比:
Convert.ToString(null);可以接收null参数
null.ToString();会异常。
也就是说你to string的对象可能为null的时候使用Convert.ToString可能少个null的判断。
------解决方案--------------------
第三种可以设置字符串的格式
------解决方案--------------------
1 像是扩展方法 每个对象都可以重写ToString方法.自定义任何输出.
2 类库,方法的可以传递多种类型的参数.
3 格式化的方法.

转换可能出现异常.try catch 一下. 看哪个异常少? 那个符合要求,就用哪个..
------解决方案--------------------
引用:
这个确实没啥好处可言,看具体使用场景。
第一个和第二个相比:
Convert.ToString(null);可以接收null参数
null.ToString();会异常。
也就是说你to string的对象可能为null的时候使用Convert.ToString可能少个null的判断。


+1
------解决方案--------------------
还以为 是 要讨论装箱。  只要不报错就行。