Bestimmen, ob eine .NET-Liste alle Elemente einer anderen Liste enthält Liste ist eine häufige Aufgabe. Man könnte annehmen, dass eine solche Funktionalität in das Framework integriert ist. Dieser Artikel untersucht, ob dies der Fall ist und bietet bei Bedarf einen alternativen Ansatz.
Die bereitgestellte „ListHelper“-Klasse definiert eine „ContainsAllItems“-Methode, die prüft, ob List „ a“ enthält alle Elemente aus der Liste „b“, wobei die Methode „TrueForAll“ verwendet wird, um die Elemente von „b“ zu durchlaufen und deren Vorhandensein in zu überprüfen „a.“
In .NET-Versionen 3.5 und höher gibt es eine prägnantere und leistungsfähigere Alternative:
public static bool ContainsAllItems<T>(List<T> a, List<T> b) { return !b.Except(a).Any(); }
Dieser Code nutzt die „Except „Methode zum Identifizieren aller Elemente in „b“, die nicht in „a“ enthalten sind. Wenn solche Elemente vorhanden sind, wird das Ergebnis invertiert und gibt „false“ zurück, was anzeigt, dass „a“ nicht alle Elemente von „b“ enthält.
Während der „ListHelper“-Ansatz gültig ist, bietet die in den Versionen 3.5 und höher angebotene .NET-Alternative mehr Effizienz und Einfachheit. Mithilfe der Methoden „Except“ und „Any“ prüft der Code, ob in „b“ Elemente fehlen, die nicht in „a“ enthalten sind. Dieser Ansatz ist prägnanter und nutzt die Leistungsfähigkeit von LINQ für performante Mengenoperationen.
Das obige ist der detaillierte Inhalt vonBietet .NET eine integrierte Möglichkeit, zu überprüfen, ob eine Liste alle Elemente einer anderen enthält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!