Ich bin neu bei linq, also kämpfe ich immer noch ....
Ich habe eine Sammlung von Steuerelementen (jede hat eine Position vom Typ Point). Ich muss das Steuerelement mit dem niedrigsten Y-Wert (oberste Kontrolle) aus der Sammlung entfernen.
Ein Beispiel würde sehr geschätzt werden!
In etwa so:
%Vor%Die Bestellung ist ziemlich teuer. Je nach Anwendungsfall können Sie auch den Artikel mit dem niedrigsten Wert finden und ihn dann entfernen:
%Vor%Dies zählt die Liste bis zu drei Mal auf, im Allgemeinen sollte dies immer noch schneller als die OrderBy sein, aber wenn Leistung für Sie wichtig ist, dann messen Sie zuerst.
Sie müssen nur das Objekt finden und es entfernen, das ist sicher. Entfernen ist sehr klar, aber beim Finden können Sie die Aggregate-Methode wie folgt verwenden:
%Vor%Denken Sie daran, dass LINQ für die Sprache INtegreated Query steht. Das heißt, es soll als Werkzeug zum Abfragen, nicht zum Ändern von Sammlungen verwendet werden.
Das heißt, Sie könnten das Steuerelement finden, das Sie mit LINQ entfernen müssen. Dann einfach den normalen Weg entfernen.
%Vor%Im Folgenden finden Sie eine Erweiterungsmethode, mit der Sie min-Elemente anstelle von min-Werten auswählen können. Sie können wie folgt verwenden:
var lowest = collection.MinElement(x => x.Y);
Dann kannst du einfach das Element mit collection.Remove(lowest)
entfernen.