c# Convert.ToString 与 .ToString() 有什么区别?
请各位指教!!
------解决方案--------------------Convert.ToString() 把Object转换成String对象。
可以把DBNull/Null转化为String.Empty
Object.ToString() 是从Object里继承来的方法。对于空引用和DBNull的对象直接调用.ToString()会引发异常。
------解决方案--------------------Convert.ToString
是指把某某类型转化成string.
比如byte[]的反序列化.
tostring()
是基类的函数.
可能被重写,但很多时候含义不一样.
------解决方案--------------------up
------解决方案--------------------后一个是通过object.ToString()方法转换成字符串
前一个是对上面这种方法的一个包装,提供一种统一的静态方法,事实上内部还是调用上面那个.ToString()
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------C# code
//Convet中的ToString方法
public static string ToString(int value)
{
return value.ToString(); //调用int的ToString方法
}
//int32的ToString方法1
public override string ToString()
{
return this.ToString(null, null);
}
//int32的ToString方法2
public string ToString(string format, IFormatProvider provider)
{
return Number.FormatInt32(this.m_value, format, NumberFormatInfo.GetInstance(provider));
}
------解决方案--------------------
多谢LGame的指正。DBNull.Value.ToString()的确没有异常发生。
但是我认为使用Convert.ToString()不需要判断是否是null。
楼主问的Convert.ToString 和 .ToString()的区别,不是说用哪一个更好的说。
各有各的使用的场合。
------解决方案--------------------
你试着运行一下下面的代码就知道了
C# code
object v = null;
Console.WriteLine(Convert.ToString(v));
Console.WriteLine(v.ToString());
------解决方案--------------------
以后需再关注,现在先帮你顶一下