Convert.ToString()
和.ToString()
之间的区别是什么
我在网上发现了很多不同之处,但最主要的区别是什么呢?
发布于 2010-05-13 23:46:07
Convert.ToString()
处理null
,而ToString()
不处理。
发布于 2014-02-04 23:39:59
除了有关处理null
值的其他答案之外,Convert.ToString
还会在调用基本Object.ToString
之前尝试使用IFormattable
和IConvertible
接口。
示例:
class FormattableType : IFormattable
{
private double value = 0.42;
public string ToString(string format, IFormatProvider formatProvider)
{
if (formatProvider == null)
{
// ... using some IOC-containers
// ... or using CultureInfo.CurrentCulture / Thread.CurrentThread.CurrentCulture
formatProvider = CultureInfo.InvariantCulture;
}
// ... doing things with format
return value.ToString(formatProvider);
}
public override string ToString()
{
return value.ToString();
}
}
结果:
Convert.ToString(new FormattableType()); // 0.42
new FormattableType().ToString(); // 0,42
发布于 2012-03-06 18:01:13
让我们通过这个例子来理解其中的区别:
int i= 0;
MessageBox.Show(i.ToString());
MessageBox.Show(Convert.ToString(i));
我们可以使用i.ToString ()
或Convert.ToString
转换整数i
。那么有什么不同呢?
它们之间的基本区别是Convert
函数处理NULL,而i.ToString ()
不处理;它将抛出NULL引用异常错误。因此,使用convert
进行良好的编码实践总是安全的。
https://stackoverflow.com/questions/2828154
复制相似问题