我有一個關於LINQ查詢和返回類型的問題。我只想讀取.csv文件中的值,其中有像這樣用分號分隔的double值:從.csv文件讀取到雙數組
0,016; 0,010; -0,020; -0,014; 0,020; 0,016; -0,019; -0,014; 0,023;
從文件讀取正常工作與下面的語句:
double pdValue;
double[] pdValues;
var values = File.ReadAllLines(path)
.Select(a => a.Split(';')
.Select(str => double.TryParse(str, out pdValue) ? pdValue : 0));
pdValues = values.ToArray();
但最後一行返回「無法隱式轉換System.Collections.Generic.IENumerable <雙>翻番[]」的錯誤。試圖讓它與數組一起工作將錯誤更改爲'不能隱式轉換System.Collections.Generic.IENumerable < double> []爲double []'。
調試時,我已經可以看到變量值從文件(在某種程度上)作爲數組保存的所有值...
我無法找到任何東西,有什麼可以給我一個提示正是我我在這裏做錯了。有誰能夠幫助我?
在此先感謝!
好吧你說的變量值從文件(在某種程度上)作爲數組保存的所有值..犯錯,因爲你說a.Split(「;」)..所以現在它一個字符串數組... – BugFinder
使用File.ReadLines而不是File.ReadAllLines更加有用,因爲File.ReadLines流式傳輸數據而不是將其全部加載到內存中。 –
該文件包含多行?所以這將是一個'double [] []'你需要什麼結果? 'double [] []'或'double []'_(所有行合併)_ –