LINQ查询以获取正确的数据

时间:2011-09-12 10:55:17

标签: c# linq

我有一个关于如何在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

感谢您的建议,我将在下次记住这些建议

1 个答案:

答案 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: - )