从 .任意() 查询



所以我有以下代码:

var itemsGrouped = this.Errors.GroupBy(x => x.UniqueName).AsEnumerable();
var hasErrors = !itemsGrouped.Any((f) =>
{
var errorCount = f.ToArray()
.Where(x => x.ErrorCount.HasValue)
.Count(x => x.ErrorCount.Value > 0);
return errorCount > 2;
});

现在我想检索与 .任意() 查询。如何仅获得匹配的物品?

你不能直接使用Any()函数(它只返回一个bool),但.Where()函数将返回一个过滤IEnumerable<T>,该也具有Any()函数。

所以像这样:

var itemsGrouped = this.Errors.GroupBy(x => x.UniqueName).AsEnumerable();
var invalidItems = itemsGrouped.Where((f) =>
{
var errorCount = f.ToArray()
.Where(x => x.ErrorCount.HasValue)
.Count(x => x.ErrorCount.Value > 0);
return errorCount > 2;
});
var hasErrors = !invalidItems.Any();
//Do stuff with invalidItems

最新更新