我有一个已经从数据库中加载的字典,其中包含一个客户对象键和一个状态值,即Enum。我想要做的是计算字典中具有某种枚举类型状态的所有项目,即“已发送”。如果没有回到数据库,最好的方法是什么,或者我必须回到数据库?我真的不想循环整个系列。我目前使用.Net 2.0
无法使用linqpublic Dictionary<Customer, Status> DistributionList
非常感谢提前。
答案 0 :(得分:2)
你能使用lambda函数吗? e.g:
using System.Linq;
int sentCount = DistributionList.Values.Count(s => s.Status == sent);
答案 1 :(得分:2)
如果您需要字典中具有特定值的元素计数,则无法避免在列表中循环:
int count = 0;
foreach(KeyValuePair<Customer,Status> kvp in DistributionList) {
if(kvp.Value == Status.Sent) count++;
}