我有一个关于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 []'_(所有行合并)_ –