A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Convert.ToString()和.ToString()方法,哪个执行效率会好些呢?有什么区别?

评分

参与人数 1技术分 +1 收起 理由
李荣壮 + 1

查看全部评分

1 个回复

倒序浏览
本帖最后由 张立 于 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

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马