如何在项目属性的任何匹配项中查询列表?

时间:2016-03-31 14:02:14

标签: c# linq properties

我有List<Tuple<int, string>>。我想得到一个bool,表示任何int值是否匹配。例如:

{1, "Yada"}, {2, "Data"}返回false
{1, "Yada"}, {1, "Data"}返回true

可以吗?

2 个答案:

答案 0 :(得分:1)

只需按该值分组,看看是否有任何组有多个项目:

bool hasDupes =
    list.GroupBy(t => t.Item1)
        .Any(g => g.Count() > 1)

答案 1 :(得分:1)

是的,可以通过分组来完成:

bool match = list.GroupBy(tuple => tuple.Item1, t => t).Any(group => group.Count() > 1);