Maison > développement back-end > C++ > Comment puis-je vérifier efficacement si une liste contient tous les éléments d'une autre dans .NET ?

Comment puis-je vérifier efficacement si une liste contient tous les éléments d'une autre dans .NET ?

Mary-Kate Olsen
Libérer: 2025-01-01 07:02:11
original
208 Les gens l'ont consulté

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

Approche de .NET pour vérifier le confinement des listes

La tâche à accomplir est de vérifier si une liste contient tous les éléments présents dans une autre liste. Dans .NET, cette fonctionnalité est en effet intégrée pour les versions 3.5 et supérieures.

L'implémentation .NET

Pour .NET 3.5 et versions ultérieures, nous pouvons exploiter le code suivant pour réaliser ce confinement check :

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

Ce code concis utilise la méthode Except pour déterminer tous les éléments de b qui sont absents dans a. En inversant le résultat avec !, nous confirmons effectivement si a contient tous les éléments de b.

Approche conventionnelle

En termes de conventions de codage, il est plus courant de définir une méthode générique, comme on le voit dans le code fourni, plutôt que la classe elle-même étant générique. De plus, l'exigence de List peut être détendu en IEnumerable puisque nous n'avons besoin que d'un moyen d'itérer sur les éléments.

Conclusion

Avec les fonctionnalités intégrées dans .NET 3.5 et versions ultérieures, vous disposez d'un moyen pratique et efficace de vérifier le confinement entre listes. Le code fourni utilise efficacement LINQ pour effectuer cette vérification et adhère aux pratiques de codage courantes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal