線と長方形のリストが 2 つあります。私がする必要があるのは、「複数の長方形の内側」にあるすべての行をリストから削除することです。ループを使用してそれを行う方法を知っています。C# で Linq を使用したエレガントなソリューションを探しています。出来ますか?
Rectangle.HitTest(Line l) を使用して、線が長方形の内側にあるかどうかを確認しています。
List<Line>
と がIEnumerable<Rectangle>
既にある場合は、次のメソッドを使用できますRemoveAll
。
List<Line> lines = ...
IEnumerable<Rectange> rectangles = ...
lines.RemoveAll(x => rectangles.Where(r => r.HitTest(x)).Skip(1).Any());