我应该使用Convert类吗?

时间:2010-03-01 21:53:36

标签: c# string long-integer

例如,在以下场景中

Convert.Int64(string somstring)

long.Parse(string somstring);

似乎在做同样的工作。哪一个是更好的做法?

由于

4 个答案:

答案 0 :(得分:4)

如果查看来源,Convert.ToInt64(string)只需调用long.Parse,但会先检查字符串是否为null

我建议调用long.Parse因为它使意图(字符串解析)更清晰。

如果您要从转换的类型可能会发生变化,我建议您使用Convert类。 (或者,如果您要转换自object

答案 1 :(得分:2)

为了完整其他答案,请不要忘记long.TryParse,如果您不确定输入字符串格式,这通常会更安全。

答案 2 :(得分:1)

Convert.Int64在内部调用long.Parse,之前只进行空检查。这是胆量:

if (value == null)
{
    return 0L;
}
return long.Parse(value, CultureInfo.CurrentCulture);

如果你需要空检查,转换.Int64更安全,否则没有区别。

答案 3 :(得分:0)

在首次对字符串进行空检查后,Convert.Int64实际上使用CultureInfo.CurrentCulture调用long.Parse。所以只要你知道字符串不是null,就可以保存步骤并调用long.Parse