-8

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

我正在使用 Rectangle.HitTest(Line l) 检查线条是否在矩形内。

4

1 回答 1

2

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

List<Line> lines = ...
IEnumerable<Rectange> rectangles = ...
lines.RemoveAll(x => rectangles.Where(r => r.HitTest(x)).Skip(1).Any());
于 2013-06-07T18:48:49.333 回答