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

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

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

【问题讨论】:

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

标签: c# asp.net-mvc


【解决方案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 :)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-04-27
          • 2018-07-29
          • 1970-01-01
          • 1970-01-01
          • 2011-09-19
          • 2022-12-06
          • 2011-07-10
          • 2014-12-26
          相关资源
          最近更新 更多