我最近一直在处理大型字符串数组到数字数组的转换,我想知道在这方面最快的方法是什么。
一开始我采用了:
double[] doubles = sarray.Split(',').Select(Double.Parse).ToArray();
...which真的很可爱..。但今天,我决定切换回一个简单的for循环来解析数组中的所有字符串,使其加倍,并不太令人惊讶的是,基准测试似乎更倾向于for循环。那么我应该切换回基本的for循环吗?
另外,我想知道是否有一种更好的类型可以用来存储拆分的字符串,例如HashSet
,它在转换过程中可能表现得更好?
发布于 2012-03-02 05:51:53
Array.ConvertAll(sarray.Split(','), Double.Parse);
与LINQ的.ToArray()
不同,它预先分配了一个大小正确的数组,并且不做任何大小调整。
这应该与手工循环没有什么区别。
https://stackoverflow.com/questions/9524682
复制相似问题