如何从我在UI中过滤的特定数据中获取总数

时间:2016-10-06 19:23:45

标签: c# asp.net wpf oracle

我从包含颜色的数据库中检索了一个列表。然后,我在UI中过滤它们以计算每种颜色的数量。

        OutModelListCnt.RED_CNT = OutModelList.Filter(p => p.COLORS.Equals("RED")).Count.ToString(); 
        OutModelListCnt.GREEN_CNT = OutModelList.Filter(p => p.COLORS.Equals("GREEN")).Count.ToString();  
        OutModelListCnt.BLUE_CNT = OutModelList.Filter(p => p.COLORS.Equals("BLUE")).Count.ToString();  
        OutModelListCnt.WHITE_CNT = OutModelList.Filter(p => p.COLORS.Equals("WHITE")).Count.ToString();
        OutModelListCnt.PINK_CNT = OutModelList.Filter(p => p.COLORS.Equals("PINK")).Count.ToString();
        OutModelListCnt.BLACK_CNT = OutModelList.Filter(p => p.COLORS.Equals("BLACK")).Count.ToString();

这工作得非常好。它从每个中检索我有多少:

RED    = 3
GREEN  = 2
BLUE   = 7
WHITE  = 4
PINK   = 0
BLACK  = 8

我的问题是如何将RED + GREEN + BLUE的总数统计在一起,因为我在UI中过滤了列表,而不是从DB过滤。

1 个答案:

答案 0 :(得分:0)

一个简单的Linq查询,使用具有多个OR(||)条件的Where运算符

var count = OutModelList.Where(c => c.COLORS.Equals("RED") || c => c.COLORS.Equals("GREEN") || c => c.COLORS.Equals("BLUE")).Count()