Possible Duplicate:
Whats the main difference between int.Parse() and Convert.ToInt32
我想知道使用 Convert.ToInt32 VS int.Parse 的优点和缺点是什么。
这里是我使用的语法示例:
int myPageSize = Convert.ToInt32(uxPageSizeUsersSelector.SelectedValue);
int myPageSize = int.Parse(uxPageSizeUsersSelector.SelectedValue);
我也找到了这些文章,也许他们可以帮助讨论:
Convert.ToInt32
用于处理任何实现了 IConvertible
并且可以转换为 int
的对象。此外,Convert.ToInt32
为 null
返回 0
,而 int.Parse
抛出 ArgumentNullException
.
int.Parse
专门用于处理字符串。
事实证明,string
类型的 IConvertible
实现仅在其 ToInt32
方法中使用了 int.Parse
.
如此有效,如果你在 string
上调用 Convert.ToIn32
,你 调用 int.Parse
,只是开销稍大(多了几个方法调用)。
对于从 string
到一些基本类型的任何转换都是如此(它们都调用 Parse
)。因此,如果您正在处理强类型的 string
对象(例如,您正在解析文本文件),我建议使用 Parse
,因为它更直接。
转换任意对象(例如,由某些外部库返回给您)是我选择使用 Convert
类的场景。