查找矩形内的行(LINQ)

时间:2013-06-07 18:45:01

标签: c# linq

我有两个直线和矩形列表。我需要做的是从列表中删除“在多个矩形内”的所有行。我知道如何使用循环来做到这一点。我正在寻找一个在C#中使用Linq的优雅解决方案。有可能吗?

我正在使用Rectangle.HitTest(第一行)检查该行是否在矩形内。

1 个答案:

答案 0 :(得分:2)

如果您已经有List<Line>IEnumerable<Rectangle>,则可以使用RemoveAll方法:

List<Line> lines = ...
IEnumerable<Rectange> rectangles = ...
lines.RemoveAll(x => rectangles.Where(r => r.HitTest(x)).Skip(1).Any());