Get item count of a list<> using Linq

前端 未结 3 1207
清歌不尽
清歌不尽 2020-12-17 10:18

I want to query a List<> and find out how MANY items match the selection criteria. using LINQ and c# /.net 3.5. How would I modify the query to return an int count.

相关标签:
3条回答
  • 2020-12-17 10:37

    Try this:

    int specialBookCount = (from n in StoreDisplayTypeList 
                            where n.DisplayType=="Special Book" 
                            select n).Count()
    

    But if you need data as well, you might want to operate with IEnumerable. So, you can use your query and access Count() extension method whenever you want.

    var specialBook = from n in StoreDisplayTypeList 
                      where n.DisplayType=="Special Book" 
                      select n;
    int num = specialBook.Count();
    
    0 讨论(0)
  • 2020-12-17 10:39
     var numSpecialBooks = StoreDisplayTypeList.Count(n => n.DisplayType == "Special Book");
    

    This uses an overload of Enumerable.Count that takes aFunc<TSource, bool>predicate to filter the sequence.

    0 讨论(0)
  • 2020-12-17 10:40

    Just surround your query like this: (from ... select n).Count().

    0 讨论(0)
提交回复
热议问题