我想查询List<>并找出许多项目如何与选择标准相匹配。使用LINQ和c#/.net 3.5。如何修改查询以返回int计数。
var specialBook = from n in StoreDisplayTypeList
where n.DisplayType=="Special Book"
select n;
答案 0 :(得分:42)
var numSpecialBooks = StoreDisplayTypeList.Count(n => n.DisplayType == "Special Book");
这使用了Enumerable.Count
的重载,它使用Func<TSource, bool>
谓词来过滤序列。
答案 1 :(得分:19)
试试这个:
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();
答案 2 :(得分:5)
如下所示:(from ... select n).Count()
。