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.Parse
或 Convert.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 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
C# asp.net - 找不到类型或命名空间名称“Helper”(您是不是缺少 using 指令或程序集引用?)