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

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

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-01 07:02:11192Durchsuche

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

.NETs Ansatz zur Überprüfung der Listeneindämmung

Die vorliegende Aufgabe besteht darin, zu überprüfen, ob eine Liste alle Elemente enthält, die in einer anderen Liste vorhanden sind. In .NET ist diese Funktionalität tatsächlich in den Versionen 3.5 und höher integriert.

Die .NET-Implementierung

Für .NET 3.5 und höher können wir den folgenden Code nutzen, um diese Eindämmung zu erreichen check:

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

Dieser prägnante Code verwendet die Except-Methode, um alle Elemente in b zu bestimmen, die in a fehlen. Indem wir das Ergebnis mit ! invertieren, bestätigen wir effektiv, ob a alle Elemente von b enthält.

Konventioneller Ansatz

In Bezug auf Codierungskonventionen ist es üblicher, eine generische Methode zu definieren, wie in gezeigt der bereitgestellte Code, anstatt dass die Klasse selbst generisch ist. Darüber hinaus gilt die Anforderung von List kann auf IEnumerable gelockert werden. da wir nur eine Möglichkeit benötigen, über die Elemente zu iterieren.

Fazit

Mit den integrierten Funktionen in .NET 3.5 und höher verfügen Sie über eine bequeme und effiziente Möglichkeit, die Eingrenzung dazwischen zu überprüfen Listen. Der bereitgestellte Code nutzt LINQ effektiv zur Durchführung dieser Prüfung und hält sich an gängige Codierungspraktiken.

Das obige ist der detaillierte Inhalt vonWie kann ich effizient prü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