Nehmen wir an, ich habe eine generische Liste von Fruit
( List<Fruit> fruits = new List<Fruit>()
). Ich füge dann ein paar Objekte hinzu (alle abgeleitet von Fruit
) - Banana
, Apple
, Orange
, aber mit unterschiedlichen Eigenschaften für die abgeleiteten Objekte (zB Banana.IsYellow
).
Dann kann ich das tun:
%Vor% Aber zur Ausführungszeit ist das natürlich nicht gültig, weil es keine IsYellow
-Eigenschaft auf den Apple- und Orange-Objekten gibt.
Wie bekomme ich nur die Bananen, Äpfel, Orangen usw. aus dem List<Fruit>
?
Schritt 1:
Zuerst sollten Sie eine Unterliste aus der Obstliste erstellen. Um die Unterliste zu erstellen, benutzen Sie Generic's FindAll()
und Predicate
Funktion.
Schritt 2: Später können Sie in der Untergruppe iterieren, die nur 'Banana' enthält
Hier ist der Code
Schritt 1:
%Vor%Schritt 2: Hier kommt die Prädikatfunktion
%Vor%Tags und Links .net c# list filter collections