asp.net c#int.Parse或Convert.toInt

时间:2011-01-26 10:38:43

标签: c# asp.net-mvc

  

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

最好使用int.ParseConvert.toInt?哪一个更容易出错,性能好坏?

4 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

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

public static int ToInt32(string value)
{
    if (value == null)
    {
        return 0;
    }
    return int.Parse(value, CultureInfo.CurrentCulture);
}

答案 2 :(得分:1)

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

答案 3 :(得分:0)

更容易出错int.TryParse:)