[英]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.