可能重复:
Whats the main difference between int.Parse() and Convert.ToInt32
最好使用int.Parse
或Convert.toInt
?哪一个更容易出错,性能好坏?
答案 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:)