根据条件从另一个通用列表获取列表

时间:2019-04-09 03:22:18

标签: c# linq

我有两个叫ConfigClassField的课。 config类具有ClassFields generic 列表。 ClassFields有一个名为ClassErrors的字符串的泛型列表。

我在变量中有一个List<Config>,并且只想获取没有任何类错误的配置。

我尝试了以下代码,但似乎无法正确处理。

var list = _lstSyncConfigs.Where(f => f.SyncConfigClassFields.Where(g => g.AttributeErrors.Count == 0).Select(f).ToList();

1 个答案:

答案 0 :(得分:3)

这也许是您想要的。 Where> All> 不是 Any

var list = _lstSyncConfigs.Where(f => f.SyncConfigClassFields.All(g => !g.AttributeErrors.Any()))
                          .ToList();
// or

var list = _lstSyncConfigs.Where(f => f.SyncConfigClassFields.All(g => g.AttributeErrors.Count == 0))
                          .ToList()

注意 :如果您的列表之一可能为空,则您可能不会使用Null-Conditional Operator