Mic*_*cah 6 .net c# performance .net-4.0 type-conversion
我正在使用反射创建一些对象.我正在设置的值是从文件读入的,因此它们本身是字符串格式,我需要将它们转换为属性的数据类型.
我的问题是,哪个更快/更好用:Convert.ToX(...)方法或X.Parse(...)方法?
Cod*_*ray 11
所有Convert.ToX接受类型参数的函数string最终都会调用Parse相应数据类型的方法.
例如,Convert.ToInt32(string)看起来像这样:
public static int ToInt32(string value)
{
if (value == null)
{
return 0;
}
return int.Parse(value, CultureInfo.CurrentCulture);
}
Run Code Online (Sandbox Code Playgroud)
所有其他数字转换方法都是一样的,包括Decimal和DateTime.所以你使用哪一个是相当无关紧要的; 在任何一种情况下,结果(和速度)都是相同的.
真的,唯一的区别是if (value == null)开头的护卫条款.这是否方便取决于具体的用例.通常,如果您知道自己有一个非null string对象,那么您也可以使用Parse.如果你不确定,ConvertToX是一个更安全的赌注,请求更少的内联空值检查代码.
| 归档时间: |
|
| 查看次数: |
423 次 |
| 最近记录: |