Ответ 1
var numSpecialBooks = StoreDisplayTypeList.Count(n => n.DisplayType == "Special Book");
Это использует перегрузку Enumerable.Count
, которая использует предикат Func<TSource, bool>
для фильтрации последовательности.
Я хочу запросить список < > и узнать, как МНОГИЕ элементы соответствуют критериям выбора. используя LINQ и С#/. Как мне изменить запрос для возврата числа int.
var specialBook = from n in StoreDisplayTypeList
where n.DisplayType=="Special Book"
select n;
var numSpecialBooks = StoreDisplayTypeList.Count(n => n.DisplayType == "Special Book");
Это использует перегрузку Enumerable.Count
, которая использует предикат Func<TSource, bool>
для фильтрации последовательности.
Попробуйте следующее:
int specialBookCount = (from n in StoreDisplayTypeList
where n.DisplayType=="Special Book"
select n).Count()
Но если вам нужны данные, вы можете работать с IEnumerable. Таким образом, вы можете использовать свой запрос и использовать метод расширения Count(), когда захотите.
var specialBook = from n in StoreDisplayTypeList
where n.DisplayType=="Special Book"
select n;
int num = specialBook.Count();
Просто выполните ваш запрос следующим образом: (from ... select n).Count()
.