c# - 如何通过谓词计算枚举列表?
问题描述
我有一个清单:
var foos = new List<E_Foo>() { E_Foo.FooA, E_Foo.FooB , ... };
哪里E_Foo
是:
public enum E_Foo
{
Undefined = 0,
FooA = 1,
FooB = 2
}
我需要计算特定 Enum 值的出现次数,例如:
int fooACount = foos.Count(x => x.GetType() == E_Foo.FooA);
但它显示了以下编译器错误:
运算符“==”不能应用于“Type”和“E_Foo”类型的操作数
解决方案
您需要按值而不是按类型比较它们
foos.Count(x => x == E_Foo.FooA)
推荐阅读
- docker - 列出使用 docker 本地卷的 Kubernetes 容器
- python - numba:使用字符串输入/返回向量化函数
- angular - Angular将html转换为角度问题
- python - 将一个目录下所有多种编码的文本文件转换成utf-8编码的文本文件
- arrays - 如何在 C 编程中将一个数组复制到另一个数组
- python - 创建一天中时间的直方图
- node.js - 如何从 express.js 迁移到 nest.js,逐个路由
- c - copy_to_user() 不断打印消息
- perl - 如何在 perl 函数中发送和接收字符串、数组和哈希
- python - 如何在python中取消列出多个列表