3

例如,在以下场景中

Convert.Int64(string somstring)

或者

long.Parse(string somstring);

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

谢谢

4

4 回答 4

4

如果您查看源代码,Convert.ToInt64(string)只需调用long.Parse,但会检查该字符串是否不是null第一个。

我会推荐调用long.Parse,因为它使意图(字符串解析)更清晰。

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

于 2010-03-01T21:57:35.150 回答
2

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

于 2010-03-01T22:00:01.790 回答
1

Convert.Int64内部调用long.Parse,之前只做一个空检查。这是胆量:

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

如果您需要空检查,那么 Convert.Int64 更安全,否则没有区别。

于 2010-03-01T21:57:33.953 回答
0

Convert.Int64 在第一次对字符串进行空值检查后,实际上使用 CultureInfo.CurrentCulture 调用 long.Parse。因此,只要您知道字符串不会为空,就可以保存步骤并调用 long.Parse

于 2010-03-01T21:58:39.610 回答