2016-10-06 2 views
0

Я извлек список из базы данных, содержащей цвета. Затем я отфильтровал их в пользовательском интерфейсе, чтобы подсчитать, сколько у меня есть из каждого цвета.Как я могу получить общее количество от определенных данных, которые я отфильтровал в пользовательском интерфейсе

 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 

Мой вопрос, как я могу получить общее количество в красный + зеленый + синий вместе, так как я фильтрации списка в пользовательском интерфейсе, а не из БД ,

ответ

0

Простой Linq запрос, используя Где оператор с несколькими ИЛИ (||) условия

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

Хотя это может ответить на этот вопрос, было бы более полезным для OP, если вы добавили краткое объяснение, почему это работает. – CDspace

+0

Я обновил ответ, дайте мне знать, если у вас есть вопросы. – Rom

Смежные вопросы