c# - 最好使用 int.Parse 或 Convert.ToInt32

标签 c# asp.net performance

<分区>

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.ToInt32null 返回 0,而 int.Parse 抛出 ArgumentNullException.

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

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

如此有效,如果你在 string 上调用 Convert.ToIn32,你 调用 int.Parse ,只是开销稍大(多了几个方法调用)。

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

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

关于c# - 最好使用 int.Parse 或 Convert.ToInt32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3960499/

相关文章:

c# - 如何获取文档中所有内容控件的列表?

c# - 无法在非域上访问服务 Windows 7 自托管 WCF 应用程序

.net - 如何避免 ASP.NET 应用程序中的 SQL 注入(inject)攻击?

asp.net - 如何对缓存层进行单元测试

c# - Entity Framework 中的异常处理

c# - 我的进程在等待输入吗?

C# 系统.Diagnostics.Process : can't launch a 32 bit exe file in 64 bit OS

sql-server - INSERT INTO 会减慢表值 FUNCTION 的速度

performance - 在 MATLAB 中使用全局变量会影响性能吗?

java - 显示通知时极度滞后