Csharp/C#教程:将字符串数组转换为double数组的最快方法?分享


将字符串数组转换为double数组的最快方法?

我最近不得不处理大型字符串数组到数字数组的转换,我想知道最快的方法是什么。

起初我采纳了:

double[] doubles = sarray.Split(',').Select(Double.Parse).ToArray(); 

…这真的很甜 ……但是今天,我决定切换回一个简单的for循环,将数组中的所有字符串解析为Double,并且不太令人惊讶的是,基准测试似乎偏向于for循环..所以我应该切换回来一个基本的循环?

另外,我想知道是否有更好的类型可用于存储分割的字符串,例如HashSet ,它可能在此转换期间表现更好?

 Array.ConvertAll(sarray.Split(','), Double.Parse); 

与LINQ的.ToArray() ,这预先分配了一个正确大小的数组,并且不进行任何大小调整。
这应该与手卷循环无法区分。

我用的时候:

 double[] doubles = Array.ConvertAll(sarray.split(','), Double.Parse); 

我收到了这个错误:

无法从用法推断出方法’System.Array.ConvertAll(TInput [],System.Converter)’的类型参数。 尝试显式指定类型参数。

但是当我这样做时它起作用了:

上述就是C#学习教程:将字符串数组转换为double数组的最快方法?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 double[] doubles = Array.ConvertAll(sarray.split(','), new Converter(Double.Parse)); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1026537.html

(0)
上一篇 2022年1月9日
下一篇 2022年1月9日

精彩推荐