现在的位置: 首页 > 综合 > 正文

Convert/Parse的效率该怎么判断?

2013年06月27日 ⁄ 综合 ⁄ 共 557字 ⁄ 字号 评论关闭

刚才看了细说Convert和Parse到底那个效率高!一文,觉得有些问题。如果我们要分析他们的效率问题,单纯从代码看,其实差别是微乎其微的,只有当放到调用非常频繁的时候才能看出真正的效率问题和对系统整体的影响,假设我们需要在一个频繁被调用的asp.net的webpage上使用,如果你要parse的这个string,你对它的值非常自信,保证可以parse成这个类型(下文假设是最常用的Int32),那没问题,Parse是最快的,但是当你不确定这个string的值的时候,那用Parse或者Convert就有可能因为exception过多导致high cpu等问题了。

Parse方法会throw三种异常出来,如果这个string object是null,那就是ArgumentNullException,如果这个string是“fanweixiao”,那就是FormatException,如果是一个很大的数,比如new string('1',102400),就是OverflowException了。

Convert方法不会抛ArgumentNullException

其实2.0后提供的TryParse()方法不错的,如果对于要转换的string的值十分不确定,那TryParse是不错的选择。

一点拙见,希望与大家共同讨论

抱歉!评论已关闭.