„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich effizient überprüfen, ob eine Liste alle Elemente eines anderen in .NET enthält?

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

Gepostet am 2025-03-04
Durchsuche:567

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

. Nets Ansatz zur Überprüfung der Liste Content

Die vorliegende Aufgabe besteht darin, zu überprüfen, ob eine Liste alle in einer anderen Liste vorhandenen Elemente enthält. In .NET, this functionality is indeed built-in for versions 3.5 and above.

The .NET Implementation

For .NET 3.5 and later, we can leverage the following code to achieve this containment check:

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

Dieser prägnante Code verwendet die Aussichtsmethode, um alle Elemente in B zu bestimmen, die in a fehlen. Indem wir das Ergebnis mit! Wirken, bestätigen wir effektiv, ob A alle Elemente von b.

konventioneller Ansatz

In Bezug auf die Codierung von Konventionen sind es üblicher, eine generische Methode zu definieren, wie im vorgesehenen Code zu sehen ist, als die Klasse selbst generisch. Darüber hinaus kann die Anforderung von List für iEnumerable entspannt werden, da wir nur eine Möglichkeit benötigen, die Elemente zu iterieren. Der bereitgestellte Code nutzt LINQ effektiv, um diese Prüfung durchzuführen und hält sich an gemeinsame Codierungspraktiken aus.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3