C#中Convert.ToString()和.ToString()之间的区别

本文关键字:ToString 区别 之间 Convert | 更新日期: 2023-09-27 18:07:18

可能重复:
变量ToString((与Convert.ToString(变量(

C#中Convert.ToString((和.ToString((之间有什么区别?

当我尝试使用ToString((将dataRow[i]转换为字符串时,我会收到一个错误。我该如何解决这个问题?

C#中Convert.ToString()和.ToString()之间的区别

基本上两者都用于将值转换为字符串,但它们之间有一个基本区别:

当我们有一个NULL对象时,Convert.ToString(Object);处理NULL值,而Object.ToString();不处理NULL值并抛出NULL引用异常。

它们之间有一个简单但重要的区别…

ToString((在对象为空时引发异常

在物体的情况下也是如此。ToString((,如果对象为null,则会引发NullReferenceException。

Convert.ToString((返回字符串。空对象时为空

(字符串(在为空的情况下强制分配对象

所以如果MyObject o=(字符串(NullObject;

但是,当您使用o访问任何属性时,它将引发NullReferenceException。

http://maniish.wordpress.com/2007/10/08/difference-between-tostring-vs-converttostring-vs-string-cast/

首先,Object.ToString((是基类Object中的一个虚拟函数。任何类都可以重写ToString((以提供自己的实现。Convert.ToString((是一个静态方法,它试图接受许多不同的参数并将它们转换为有意义的字符串。此外,如果调用Object.ToString((的对象为null,它将失败。

此外,Object.ToString((并不总是将对象转换为您可能期望的字符串形式。例如,基函数Object.ToString((将始终返回对象的完全限定类型名。任何类都可以按照自己的意愿实现ToString((,这不一定是有意义的。

Convert.ToString和.ToString之间有一个基本的区别。Convert.ToString将处理Null异常,但是.ToStrings将抛出错误