我想查询列表<>并找出多个项目与选择条件的匹配程度。使用LINQ和c#/.net 3.5。我将如何修改查询以返回int计数。使用Linq获取列表项目数<>使用Linq
var specialBook = from n in StoreDisplayTypeList
where n.DisplayType=="Special Book"
select n;
我想查询列表<>并找出多个项目与选择条件的匹配程度。使用LINQ和c#/.net 3.5。我将如何修改查询以返回int计数。使用Linq获取列表项目数<>使用Linq
var specialBook = from n in StoreDisplayTypeList
where n.DisplayType=="Special Book"
select n;
var numSpecialBooks = StoreDisplayTypeList.Count(n => n.DisplayType == "Special Book");
这使用的Enumerable.Count
过载,需要一个Func<TSource, bool>
谓词来筛选序列。
只是围绕着你的这样的查询:(from ... select n).Count()
。
试试这个:
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();