C#中的Convert.ToString()和.ToString()有什么区别?
当我尝试dataRow[i]使用ToString()转换为字符串时,我收到一个错误.我该如何解决?
小智 16
基本上两者都用于将值转换为String,但它们之间存在基本差异:
当我们有一个NULL对象时,Convert.ToString(Object);处理NULL值Object.ToString();而不处理NULL值,它抛出NULL引用异常.
他们之间有一个简单但重要的区别......
当对象为null时,ToString()引发异常
因此,对于object.ToString(),如果object为null,则会引发NullReferenceException.
Convert.ToString()在null对象的情况下返回string.Empty
(string)cast在null的情况下分配对象
所以在MyObject的情况下o =(string)NullObject;
但是当你使用o来访问任何属性时,它会引发NullReferenceException.
首先,Object.ToString()是基类Object中的虚函数.任何类都可以重写ToString()以提供自己的实现.Convert.ToString()是一个静态方法,它尝试获取许多不同的参数并将它们转换为有意义的字符串.此外,如果调用它的对象为null,Object.ToString()将失败.
此外,Object.ToString()并不总是将对象转换为您可能期望的字符串形式.例如,基函数Object.ToString()将始终返回对象的完全限定类型名称.任何类都可以实现ToString()但是它希望并且这不一定是有意义的东西.
| 归档时间: |
|
| 查看次数: |
4834 次 |
| 最近记录: |