最好使用int.Parse或Convert.ToInt32

Gib*_*boK 14 c# asp.net performance

可能重复:
什么是int.Parse()和Convert.ToInt32之间的主要区别

嗨伙计们,我想知道什么是使用Convert.ToInt32 VS int.Parse的PRO和CONS.感谢你的支持!

这是我正在使用的语法示例

            int myPageSize = Convert.ToInt32(uxPageSizeUsersSelector.SelectedValue);

            int myPageSize = int.Parse(uxPageSizeUsersSelector.SelectedValue);
Run Code Online (Sandbox Code Playgroud)

我也发现了这篇文章,也许可以帮助讨论 http://dotnetperls.com/int-parse http://aspdotnethacker.blogspot.com/2010/04/difference-between-int32parsestring.html http:// aspdotnethacker .blogspot.com/p /视觉工作室-性能- wizard.html

Dan*_*Tao 25

Convert.ToInt32用于处理任何实现IConvertible并可以转换为的对象int.此外,Convert.ToInt32返回0null,而int.Parse抛出一个ArgumentNullException.

int.Parse 专门用于处理字符串.

事实证明,string类型的IConvertible实现仅仅int.Parse在其ToInt32方法中使用.

如此有效,如果你打电话Convert.ToIn32给a string,你正在打电话int.Parse,只需要稍微增加一些开销(几个方法调用).

对于从string某种原始类型(它们都调用Parse)的任何转换都是如此.因此,如果您正在处理强类型string对象(例如,您正在解析文本文件),我建议Parse,因为它更直接.

转换任意对象(例如,由某些外部库返回给你)是我选择使用Convert该类的场景.


Kyl*_*e C 17

没有太大的区别.这是在msdn上找到的引用.

基本上,Convert类可以更容易地在所有基类型之间进行转换.

下面的Convert.ToInt32(String,IFormatProvider)调用Int32.Parse.所以唯一的区别是,如果将null字符串传递给Convert,则返回0,而Int32.Parse会抛出ArgumentNullException. MSDN