C#计算列表中的出现次数

时间:2013-05-13 15:35:32

标签: c# list lambda count

我的类型Card的{​​{1}}属性名为int,其中Ace = 14,Five = 5等。

如果我有一张卡片列表(5),即。一只手。我想要做的是计算Value等于另一张卡的数字卡,即。找到4种,3种,1对,2对等。我对C#/编程很新,但我相信这是LINQ / Lambda表达式的一个例子吗?有人可以帮助我吗?

Value

1 个答案:

答案 0 :(得分:5)

使用GroupBy非常简单。

var cards = HandBuilder.GroupBy(card => card.Value)
    .OrderByDescending(group => group.Count());

要检查四种,只需查看第一组是否有四个项目;检查三种类型,看第一组是否有三个项目。要检查两对,只需看看前两组是否有两个项目。