例如,在以下场景中
Convert.Int64(string somstring)
或
long.Parse(string somstring);
似乎在做同样的工作。哪一个是更好的做法?
由于
答案 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