asp.net c# int.Parse 或 Convert.toInt [重复]

Posted

技术标签:

【中文标题】asp.net c# int.Parse 或 Convert.toInt [重复]【英文标题】:asp.net c# int.Parse or Convert.toInt [duplicate] 【发布时间】:2011-06-15 18:30:05 【问题描述】:

可能重复:Whats the main difference between int.Parse() and Convert.ToInt32

int.ParseConvert.toInt 哪个更好用?哪一个更容易出错并且性能更差?

【问题讨论】:

有了 200 多个问题,您现在应该真正了解 SO 在您键入问题标题时提供的自动建议。你确定你找不到任何类似的问题吗?因为我找到了很多。 【参考方案1】:

下面的Convert.ToInt32() 调用Int32.Parse。所以唯一的区别是如果一个null string被传递给转换它returns 0,而Int32.Parse抛出一个ArgumentNullException

【讨论】:

【参考方案2】:

这是 Converto.ToInt 的实现,根据 Reflector :

public static int ToInt32(string value)

    if (value == null)
    
        return 0;
    
    return int.Parse(value, CultureInfo.CurrentCulture);

【讨论】:

【参考方案3】:

Parse 专门用于解析字符串,让您可以更好地控制字符串的格式。 Convert.ToInt 将首先处理几乎所有可以转换的类型。 更容易出错的地方取决于您的输入和您期望的变化。 int.TryParse 是健壮的,它不会抛出异常,缺陷是它很容易隐藏解析错误。这个选择取决于你想做什么?你想提供反馈,有详细的解析错误信息,使用替代/默认值吗?

【讨论】:

【参考方案4】:

更容易出错的 int.TryParse :)

【讨论】:

以上是关于asp.net c# int.Parse 或 Convert.toInt [重复]的主要内容,如果未能解决你的问题,请参考以下文章

asp.net中如何保存图片对象

asp.net C# 实现微信接口权限开发类

检测页面刷新 jQuery 或 C# ASP.Net

C# asp.net - 找不到类型或命名空间名称“Helper”(您是不是缺少 using 指令或程序集引用?)

如何使用 C# asp.net 在 GridView 中添加文件上传日期和/或时间?

Asp.net Core-在使用 javascript 或 C# 上传之前选择和验证 excel 文件?