2010-10-04 61 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(); 
相關問題