有关此方案的任何帮助请... c#的新手。
要点:
示例csv:
Company,Item,Vendor
Comp1,Bulb,BnQ
Comp2,Plug,Tesco
Comp1,Kettle,Wickes
这是我的尝试,但在尝试访问已排序的[j]时出现以下错误,我无法解决此问题。
无法将带有[]的索引应用于类型为'System.Collections.Generic.IEnumerable
的表达式代码:
var csvRows = System.IO.File.ReadAllLines(filename).Skip(1);
var sorted = csvRows.Select(line => new
{
SortKey = Int32.Parse(line.Split(',')[0]),
Line = line
})
.OrderBy(x => x.SortKey)
.Select(x => x.Line);
int maxCount = sorted.Count();
for (int j = 0; j < maxCount; j++)
{
string line1 = sorted[j].ToString();
var values = line1.Split(',');
...
答案 0 :(得分:2)
您需要在LINQ查询的末尾添加mydomain.com
或.ToList()
,否则您的已排序变量是IEnumerable而不是列表或数组,因此您无法使用索引访问它。