Heim >Backend-Entwicklung >C++ >Wie kann ich überprüfen, ob eine Liste alle Elemente einer anderen in .NET enthält?

Wie kann ich überprüfen, ob eine Liste alle Elemente einer anderen in .NET enthält?

DDD
DDDOriginal
2024-12-29 16:33:10388Durchsuche

How Can I Check If One List Contains All Elements of Another in .NET?

Bestimmen, ob eine Liste alle Elemente einer anderen in .NET enthält

Die LINQ-Erweiterungsmethode Except kann verwendet werden, um festzustellen, ob eine Liste enthält alle Elemente einer anderen Liste. Durch Gegenüberstellung der beiden Listen können wir feststellen, ob in der ersten Liste Elemente fehlen, die in der zweiten Liste vorhanden sind. Dieser Ansatz ist besonders praktisch in .NET 3.5 oder späteren Versionen.

public static class LinqExtras // Or whatever
{
    public static bool ContainsAllItems<T>(this IEnumerable<T> a, IEnumerable<T> b)
    {
        return !b.Except(a).Any();
    }
}

Diese erweiterte Methode „ContainsAllItems“ funktioniert generisch für jeden Sequenztyp (IEnumerable) und ist somit auf eine Vielzahl von Sammlungen anwendbar. Die Except-Methode entfernt Elemente aus b, die auch in a vorkommen, sodass nur die Elemente übrig bleiben, die nur für b gelten. Indem wir dann die Any-Methode verwenden, stellen wir fest, ob noch Elemente im Ergebnis vorhanden sind, und stellen so effektiv fest, ob a alle Elemente von b enthält.

Zusammenfassend stellt die Methode „ContainsAllItems“ einen präzisen und effizienten Mechanismus zur Überprüfung des Vorhandenseins von bereit alle Elemente aus einer Liste in einer anderen, wobei die Funktionen von LINQ genutzt werden, um diesen gemeinsamen Vorgang zu vereinfachen.

Das obige ist der detaillierte Inhalt vonWie kann ich überprüfen, ob eine Liste alle Elemente einer anderen in .NET enthält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn