Ich habe eine Liste von Objekten, die geordnet sind. Ich möchte überflüssige Objekte entfernen, wobei überflüssig nicht unbedingt doppelt bedeutet. Hier ist ein Beispiel:
List<Point> points = new List<Point>
{
new Point(0, 10),
new Point(1, 12),
new Point(2, 16),
new Point(3, 16),
new Point(4, 16),
new Point(5, 13),
new Point(6, 16),
};
Ich bin daran interessiert, die new Point(3, 16)
Eintrag, weil er keine nützlichen Informationen liefert; ich weiß bereits, dass das Element bei 2=16 und das Element bei 4=16 ist. Die Information, dass 3=16 ist, nützt mir in meiner Anwendung nichts (denn ich habe bereits die Grenzen {2,4}=16), also möchte ich diesen Eintrag entfernen. Ich möchte auch nicht, dass ich den 5. und 6. Eintrag behalte, weil es keine aufeinanderfolgenden Einträge gibt, bei denen Y=16 ist.
Gibt es eine glatte Möglichkeit, dies mit Linq zu tun?