Sagen, ich habe ein List<Point> { {5,2}, {7,2}, {3,9} }
Drehen Liste <T> basierend auf einer Bedingung
Ich mag meine Ausgabe immer mit dem Punkt mit dem kleinsten X-Wert beginnt
So wie etwas:
var output = input.Rotate((x, y) => x.X < y.X));
output = `List<Point> { {3,9}, {5,2}, {7,2} }`
Es ist nicht schwer manuell zu tun:
- Finden Sie den Index des Objekts, das die Bedingung erfüllt Ion
- eine neue Liste erstellen
- alles aus dem Index hinzufügen zu dieser Liste
- hinzufügen alles von 0 bis Index-1
ich dort frage mich nur zu beenden, wenn ein LINQ Weg zu tun ist, Dies?
wählen Warum nicht nur 'input.OrderBy (p => pX)'? –
Bitte zeigen Sie Ihren aktuellen Code mit Loops und Ihre Versuche, den LINQ Weg zu tun. Welchen Nutzen hat LINQ für Sie, wonach suchen Sie in potenziellen Antworten? – CodeCaster
OrderBy wird nicht funktionieren. Das OP möchte die Liste so drehen, dass der Punkt mit dem kleinsten X-Wert zuerst angezeigt wird, aber die Reihenfolge der Liste beibehalten wird. – swatsonpicken