【发布时间】:2013-03-31 11:18:39
【问题描述】:
在C# 中,您可以使用Int32.Parse 和Convert.ToInt32 将字符串转换为Int32。他们之间有什么区别?哪个表现更好?在哪些情况下我应该使用Convert.ToInt32 而不是Int32.Parse,反之亦然?
【问题讨论】:
-
@vanneto:这个问题可能是重复的,但答案不是。
标签: c#
在C# 中,您可以使用Int32.Parse 和Convert.ToInt32 将字符串转换为Int32。他们之间有什么区别?哪个表现更好?在哪些情况下我应该使用Convert.ToInt32 而不是Int32.Parse,反之亦然?
【问题讨论】:
标签: c#
基本上Convert.ToInt32 在幕后使用“Int32.Parse”,但在底线
Convert.ToInt32 null 将返回 0。而在 Int32.Parse 中将引发异常。
【讨论】:
Int32.Parse (string s) 方法将数字的字符串表示形式转换为其等效的 32 位有符号整数。当 s 为空引用时,会抛出 ArgumentNullException。
而
Convert.ToInt32(string s) 方法将指定的字符串表示形式转换为等效的 32 位有符号整数。这又调用了 Int32.Parse() 方法。当 s 为空引用时,它将返回 0 而不是抛出 ArgumentNullException。
【讨论】:
Convert.ToInt32(字符串值)
来自 MSDN:
返回一个与 value 值等效的 32 位有符号整数。 - 或 - 如果 value 是空引用,则为零(在 Visual Basic 中为 Nothing)。
返回值是对 value 调用 Int32.Parse 方法的结果。
【讨论】: