[英]Fastest way to convert string array to double array?
我最近不得不处理将大字符串数组转换为数字数组的问题,我想知道目前最快的方法是什么。
起初我采用了:
double[] doubles = sarray.Split(',').Select(Double.Parse).ToArray();
...这实在是甜的......但今天,我决定切换回用于循环一个简单的解析在阵列双所有字符串,并没有太多令人惊讶的基准似乎倾向于for循环..所以我要切换回到基本的 for 循环?
另外,我想知道是否有更好的类型可用于存储拆分的字符串,例如HashSet
在此转换过程中可能表现更好?
Array.ConvertAll(sarray.Split(','), Double.Parse);
与 LINQ 的.ToArray()
,它预先分配了一个正确大小的数组,并且不进行任何调整大小。
这应该与手卷循环无法区分。
当我使用:
double[] doubles = Array.ConvertAll(sarray.split(','), Double.Parse);
我收到此错误:
无法从用法推断方法“System.Array.ConvertAll(TInput[], System.Converter)”的类型参数。 尝试明确指定类型参数。
但是当我这样做时它起作用了:
double[] doubles = Array.ConvertAll(sarray.split(','), new Converter<string, double>(Double.Parse));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.