我最近不得不处理将大型字符串数组转换为数字数组的问题,我想知道最快的方法到底是什么。
起初我采用:
double[] doubles = sarray.Split(',').Select(Double.Parse).ToArray();
...这真的是甜蜜...但是今天,我决定切换回一个简单的 for 循环来将数组中的所有字符串解析为 Double,毫不奇怪,基准测试似乎很受欢迎for 循环……所以我应该切换回基本的 for 循环吗?
此外,我想知道是否有更好的类型可用于存储拆分后的字符串,例如HashSet
在此转换过程中哪个可能表现更好?
最佳答案
Array.ConvertAll(sarray.Split(','), Double.Parse);
与 LINQ 的 .ToArray()
不同,它会预先分配一个大小正确的数组,并且不会调整大小。
这应该与手动循环没有区别。
关于c# - 将字符串数组转换为双数组的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9524682/