我有一个这样的枚举:

public enum PlayResultEnum
{
    First, Cooperate, Defect
}


我创建一个清单:

    public List<PlayResultEnum> Agent1Result=new List<PlayResultEnum>();
    public List<PlayResultEnum> Agent2Result=new List<PlayResultEnum>();


我需要计数,例如使用lambda(Linq)在列表中的第一个值。

我怎样才能做到这一点?

最佳答案

var count = Agent1Result.Count(c => c == PlayResultEnum.First);


或另一种方式:

var count = Agent1Result.Count(c => (int)c == 0);


如果PlayResultEnum.First是第一个值并且您没有手动设置其他值,它将起作用。来自documentation


  默认情况下,第一个枚举数的值为0,并且每个连续的枚举数的值增加1。

10-05 22:47