Heim >Backend-Entwicklung >C++ >Bietet .NET eine integrierte Funktion zum Überprüfen, ob eine Liste alle Elemente einer anderen enthält?

Bietet .NET eine integrierte Funktion zum Überprüfen, ob eine Liste alle Elemente einer anderen enthält?

DDD
DDDOriginal
2024-12-30 13:52:14342Durchsuche

Does .NET Offer a Built-in Function to Check if One List Contains All Items from Another?

Verfügt .NET über eine eingebaute Funktion, um zu überprüfen, ob Liste a alle Elemente in Liste b enthält?

Der Zweck dieser Frage besteht darin Stellen Sie fest, ob .NET eine integrierte Funktionalität bereitstellt, um festzustellen, ob eine Liste alle Elemente einer anderen Liste enthält.

Der bereitgestellte Beispielcode versucht, dies zu erfüllen Zu diesem Zweck wird die zweite Liste durchlaufen und überprüft, ob jedes Element in der ersten Liste vorhanden ist. Dieser Ansatz funktioniert, aber man fragt sich, ob eine solche Funktionalität bereits in .NET vorhanden ist.

Antwort:

Für .NET Version 3.5 und höher ist eine solche Funktion tatsächlich verfügbar :

public static bool ContainsAllItems<T>(List<T> a, List<T> b)
{
    return !b.Except(a).Any();
}

Dieser Code vergleicht die Elemente in Liste b mit denen in Liste a und gibt nur dann „true“ zurück, wenn alle Elemente in b auch in vorhanden sind a.

Alternative Implementierung:

Eine konventionellere Implementierung würde das Deklarieren der Methode als generisch und das Akzeptieren eines IEnumerable beinhalten. anstelle eines bestimmten Typs (Liste):

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

Mit diesem Ansatz können Sie leicht überprüfen, ob eine Liste alle Elemente einer anderen enthält, indem Sie Folgendes verwenden:

IEnumerable<int> a = new List<int> { 1, 2, 3, 4 };
IEnumerable<int> b = new List<int> { 2, 4, 6, 8 };

bool containsAll = a.ContainsAllItems(b);  // False

Das obige ist der detaillierte Inhalt vonBietet .NET eine integrierte Funktion zum Ü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!

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