使用linq从包含另一个集合的集合中获取项

本文关键字:集合 获取 另一个 linq 包含 使用 | 更新日期: 2023-09-27 18:15:51

假设我有一个Layer对象的集合,每个Layer可能包含也可能不包含Polygon集合。只有一个Layer包含来自Layer集合的Polygon集合。我如何使用LINQ从集合中获得此层?

之类的
foreach (var layer in Layers)
{
    var item = layer.FirstOrDefault( x =>x.Content is Polygon)
    if (item != null) return layer
}

使用linq从包含另一个集合的集合中获取项

你应该能够得到一个多边形内容的第一层,像这样:(使用Enumerable.Any):

return Layers.FirstOrDefault(l => l.Any(x => x.Content is Polygon));