2010-10-04 64 views
12

我想查询列表<>并找出多个项目与选择条件的匹配程度。使用LINQ和c#/.net 3.5。我将如何修改查询以返回int计数。使用Linq获取列表项目数<>使用Linq

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

回答

33
var numSpecialBooks = StoreDisplayTypeList.Count(n => n.DisplayType == "Special Book"); 

这使用的Enumerable.Count过载,需要一个Func<TSource, bool>谓词来筛选序列。

5

只是围绕着你的这样的查询:(from ... select n).Count()

18

试试这个:

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(); 
相关问题