我曾见过很多方法将.NET中的Object
转换为String
,通常用于在对象类型未知时向用户显示对象的值。将对象转换为字符串的最佳做法
这些措施包括:
Dim x as Object = 3
Dim y as Object = Nothing
Dim z as Object = DBNull.Value
Dim l_displayString As String
l_displayString = "" & x & "" & y & "" & z
l_displayString = If(x, "").ToString() & If(y, "").ToString() & If(z, "").ToString()
l_displayString = Convert.ToString(x) & Convert.ToString(y) & Convert.ToString(z)
是否有这是由微软推荐的方法,或者说这些都向下编译到相同的字节码?
编辑:
让我扩大问题有点包括:
什么是这些方法之间的区别?我无法看到底下发生了什么,所以很高兴知道其中一个是否有任何性能优势。在某些情况下,这些调用可能会进行数千次(例如从大型表中读取),并且几秒钟之后削减可能会对用户体验产生巨大影响。
你知不知道这是否是微软的推荐标准?有什么想法,如果有的话,开销与其他两种方法相比?我不是一个CLR忍者,所以我不能在字节代码级别比较它们。 – JDB 2012-07-05 15:53:30
我认为在表现方面,事情并没有明显改变,最好是更安全。 – 2012-07-05 15:57:33
谢谢 - 这是最有用的答案。我用我的测试结果添加了一个答案,它基本上证实了你的建议。 – JDB 2012-07-05 17:23:45