哪种转换方法更好?

时间:2010-07-13 04:05:12

标签: c#

Convert.ToInt32或Int.Parse哪个更好,为什么?是否有任何具体情况我可以使用这两个?。

5 个答案:

答案 0 :(得分:7)

据推测,你问的是Convert.ToInt32带有一个字符串。在这种情况下,它只是在内部调用int.Parse,因此除了Convert通过返回0优雅地处理null之外没有真正的区别。

答案 1 :(得分:2)

Convert.ToInt32在内部使用空检查调用Int.Parse。所以Null检查是额外的,并且在Null参数的情况下不会抛出。

您可以在此处参考此问题:Any performance difference between int.Parse() and Convert.Toint()?

答案 2 :(得分:1)

其中一个叫另一个(虽然我不记得哪个是哪个ATM),所以它们之间没有实际区别。

答案 3 :(得分:0)

来自Reflector

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

所以调用int.Parse()会更快一些。

答案 4 :(得分:0)

如果您不希望将null作为参数传递,请使用int.Parse,因为当 的某些内容发生时,您会收到异常提醒错。