例如,在以下场景中
Convert.Int64(string somstring)
或者
long.Parse(string somstring);
似乎在做同样的工作。哪个是更好的做法?
谢谢
例如,在以下场景中
Convert.Int64(string somstring)
或者
long.Parse(string somstring);
似乎在做同样的工作。哪个是更好的做法?
谢谢
如果您查看源代码,Convert.ToInt64(string)
只需调用long.Parse
,但会检查该字符串是否不是null
第一个。
我会推荐调用long.Parse
,因为它使意图(字符串解析)更清晰。
Convert
如果您要转换的类型可能会发生变化,我建议使用该类。(或者如果你从 转换object
)
只是为了其他答案的完整性,不要忘记long.TryParse如果您不确定输入字符串格式,这通常更安全。
Convert.Int64
内部调用long.Parse
,之前只做一个空检查。这是胆量:
if (value == null)
{
return 0L;
}
return long.Parse(value, CultureInfo.CurrentCulture);
如果您需要空检查,那么 Convert.Int64 更安全,否则没有区别。
Convert.Int64 在第一次对字符串进行空值检查后,实际上使用 CultureInfo.CurrentCulture 调用 long.Parse。因此,只要您知道字符串不会为空,就可以保存步骤并调用 long.Parse