我有表格格式的值
IEnumerable<IEnumerable<Data>> tableResult=new IEnumerable<IEnumerable<Data>>();
//below line doesn't work
tableResult = tableResult.Distinct(row => row("ID"));
tableResult包含表格格式的值,比如说(虚拟示例)。记录我得到的是IEnumerable<IEnumerable<Data>>
不是表格。不要指望你会得到列名
ID Name Designation
1 Sam Engg
3 Mos Doc
3 Peter Driver
4 Bob Builder
预期结果是:如何使用linq获取ID的唯一行。
ID Name Designation
1 Sam Engg
3 Mos Doc
4 Bob Builder
答案 0 :(得分:0)
您可以按ID分组并选择每个ID组中的第一项
假设您的ID列是内部IEnumerable
中的第一个元素:
tableResult.GroupBy(x => x.First()).Select(x => x.First());
如果您想要在具有重复ID时显示要显示的行的更具体的定义,请将.Select(x => x.First())
替换为.Select(x => x.OrderBy(y => y.Skip(n).First()).First())
,其中n是要排序的列号。< / p>