我有一个这样的枚举:
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。