C#其他类型转字符串!

2012-06-01 09:23:21 +08:00
 hoperce
加空字符串("") 和 ToString() 和 (string) 有什么区别和代价么?
3410 次点击
所在节点    问与答
6 条回复
avatasia
2012-06-01 09:29:54 +08:00
你是要说string s = 10 + ""; 这样子算加空字符串?还是什么?
3.5还是4.0之后,int直接支持和string相加, 默认转型了,效率上有点问题。
ToString()用的比较多, (string)很少用到,不推荐使用。
里面涉及到装箱拆箱的基础知识,string.format()这个效率最高,具体你可以看看陆敏技的书或者CLR via C#
acterce
2012-06-01 12:16:52 +08:00
呔! 秃驴
caoyue
2012-06-01 12:51:42 +08:00
加空字符串不推荐。虽然同样是由 CLR 自动调用了 Tostring() ,但字符串的操作会生成两个副本等待 GC 回收。
一般是用 Tostring() 或是 Convert.Tostring() ,区别是 Object 为 Null 的时候前者会异常而后者会返回空字符串。
强制转换要求对象运行时类型是 string ,否则就会异常,不推荐使用。
hoperce
2012-06-01 14:05:34 +08:00
@acterce 额。
hoperce
2012-06-01 14:08:13 +08:00
@caoyue 但是ToString()在对象为空的时候会出现异常!Convert.ToString()表示没用过!
hoperce
2012-06-01 14:10:19 +08:00
@avatasia 3.5和4.0都有。 string s=object+""这样的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/38034

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX