黑马程序员技术交流社区

标题: Convert.ToString()和.ToString()方法,哪个执行效率会好些呢?有什么区别? [打印本页]

作者: lyz1024    时间: 2012-1-11 16:05
标题: Convert.ToString()和.ToString()方法,哪个执行效率会好些呢?有什么区别?
Convert.ToString()和.ToString()方法,哪个执行效率会好些呢?有什么区别?
作者: 张立    时间: 2012-1-11 16:29
本帖最后由 张立 于 2012-1-11 16:35 编辑

反射系统源码,其实 Convert.ToString()调用了value.ToString(CultureInfo.CurrentCulture);之后调用了Number.FormatInt32(this, null, NumberFormatInfo.GetInstance(provider));
而i.tostring()调用了Number.FormatInt32(this, null, NumberFormatInfo.CurrentInfo);其实他们没什么区别,最后最后执行的是一个方法。有区别的地方应该是当返回的数据类型中有可能出现null值时如果调用tostring方法了,就会返回NullReferenceException,除非你要捕捉此异常再做处理,否则在这种情况下就应考虑使用Convert.ToString()方法了,因为Convert.ToString(null)不会抛出异常而是返回空字符串.至于说效率从程序步奏上讲,Tostring()的效率略高因为他少了NumberFormatInfo.GetInstance(CultureInfo.CurrentCulture)这一步的操作他的返回值就是 CultureInfo.CurrentCulture





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2