【发布时间】:2015-12-02 08:34:48
【问题描述】:
我有一个这样的 .txt 文件:
1,2,3,4,5
6,7,8,9,10
11,12,13,14,15
16,17,18,19,20
我想用 PLinq 将这个文件读取到一个双数组中,代码如下:
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Text Files(*.txt)|*.txt";
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
number_of_users = File.ReadAllLines(ofd.FileName).Length;
number_of_services = File.ReadAllLines(ofd.FileName)[0].Split(',').Length;
quality_of_service_array = new double[number_of_users, number_of_services];
quality_of_service_array = File.ReadAllLines(ofd.FileName)
.Select(l => l.Split(',').Select(i => double.Parse(i)).ToArray())
.ToArray();
}
这个数组应该有 4 行 5 列。
但我得到这个错误:
无法将类型 'double[][]' 隐式转换为 'double[,]。
我知道这个错误的含义,但我不是 PLinq 专家。
【问题讨论】:
-
您没有使用
PLINQ。此外,没有一种简单的方法可以直接从 Linq 查询返回多维数组 -
我用谷歌搜索了我的问题,我找到了这个解决方案。很明显,我不是专家。 :)
标签: c# arrays linq parallel-processing plinq