获取列表的项目数<>使用Linq

时间:2010-10-04 05:18:16

标签: c# linq asp.net-3.5

我想查询List<>并找出许多项目如何与选择标准相匹配。使用LINQ和c#/.net 3.5。如何修改查询以返回int计数。

var specialBook = from n in StoreDisplayTypeList 
                  where n.DisplayType=="Special Book" 
                  select n;

3 个答案:

答案 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()