C#中的Convert.ToString(str1)和str1.ToString()这两个方法有什么区别?

2025年05月07日 07:20
有3个网友回答
网友(1):

这2个从实现上面来说,Convert.ToString(参数) 这个方法
对于非数值类型的,字符类型的转换,时间类型的转换、
是调用的Object的虚方法ToString()、这个虚方法调用的是Object里面重载的ToString(object value,IFormatProvider provider);

Convert.toString(参数)会根据传入参数的类型自动匹配转换、
xxx.toString() 是根据前面xxx的类型去匹配转换的。比如xxx数据类型为 DateTime,调用的就是DateTime对应的toString()

Convert.toString() 是 一个静态方法
xxx.toString() 是实例定义的方法,使用toString,必须要有实例对象才能转换

网友(2):

ToString()是将类型转换为字符串
而Convert.ToString()是强制转换为字符串。
如果是空的引用。那就只能用强转,因为如果是ToString()的话会引发异常

网友(3):

简单的说,
1:convert.tostring() 是强制转换,tostring() 并不是所有的都有tostring()的方法;
2:Convert.toString()当转换不成功时,返回null,toString()则会抛出错误。

纯手写;