【发布时间】:2009-07-23 09:58:44
【问题描述】:
这不是一个真正的问题,但我很好奇。当我在假设 DataRow 中保存一个字符串时,它被强制转换为 Object。当我想使用它时,我必须将它转换为 ToString。据我所知有几种方法可以做到这一点,首先是
string name = (string)DataRowObject["name"]; //valid since I know it's a string
还有一个是:
string name = DataRowObject["name"].ToString();
我感兴趣的是两者之间的区别是什么?第一个效率更高吗? (这只是一种推测,在我看来,ToString() 方法是通过某种循环机制实现的,只是强制转换它“可能”会更快,但这只是我的“直觉”)。
有没有更快/更优雅的方式来做到这一点?
谁能帮我解决这个问题?
【问题讨论】:
-
我知道你提到对象是一个字符串,但如果你不确定返回的对象是否为空,你也可以使用 "Convert.ToString(DataRowObject["name"]) ;"如果对象为空,这具有返回空字符串 (string.empty) 的额外好处,以避免任何空引用异常。