我有一个关于如何在LINQ查询中执行此操作的快速问题。我遇到问题主要是因为我还在学习LINQ而且我希望你们能指出我正确的方向。
基本上我有一个如下表
Number Character Key
1 a value & 2
1 a value & 2
1 b value & 1
2 a value & 3
3 b value & 4
3 a value & 5
4 a value & 7
4 a value & 7
4 b value & 8
4 b value & 9
我想编写一个LINQ查询,该查询首先按数字列分组,然后在该结果中再次按字符列分组,然后检查在该结果中是否在键列中的值匹配。
我希望我的语言不会混淆。
谢谢
编辑:
我正在使用从excel文件生成的列表。
List<Data> bdt = getData.dataGet(exp);
var result = from s in bdt
我想要的输出是
Number Character Key
1 a value & 2
1 a value & 2
4 a value & 7
4 a value & 7
感谢您的建议,我将在下次记住这些建议
答案 0 :(得分:2)
这应该可以解决问题:
var q =
from item in bdt
group item by new { item.Number, item.Character, item.Key } into g
where g.Count() > 1
select g.Key;
诀窍在于多列上的单个group by
: - )