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

时间:2014-08-01 04:37:32

标签: c# linq collections

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

这样的东西
foreach (var layer in Layers)
{
    var item = layer.FirstOrDefault( x =>x.Content is Polygon)
    if (item != null) return layer
}

1 个答案:

答案 0 :(得分:0)

您应该能够获得具有如下多边形内容的第一个图层:(使用Enumerable.Any):

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