簡體   English   中英

將字符串數組轉換為雙數組的最快方法?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM