Maison > développement back-end > C++ > .NET offre-t-il un moyen intégré de vérifier si une liste contient tous les éléments d'une autre ?

.NET offre-t-il un moyen intégré de vérifier si une liste contient tous les éléments d'une autre ?

Linda Hamilton
Libérer: 2024-12-29 11:26:11
original
1014 Les gens l'ont consulté

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

Vérifier si une liste contient tous les éléments d'une autre liste dans .NET

Introduction

Déterminer si une liste .NET contient tous les éléments d'une autre la liste est une tâche courante. On pourrait supposer que cette fonctionnalité est intégrée au framework. Cet article examine si tel est le cas et propose une approche alternative si nécessaire.

L'approche "ListHelper"

La classe "ListHelper" fournie définit une méthode "ContainsAllItems" qui vérifie si List " a" contient tous les éléments de la liste "b" en utilisant la méthode "TrueForAll" pour parcourir les éléments de "b" et vérifier leur présence dans "a."

Alternative de .NET

Dans les versions .NET 3.5 et supérieures, une alternative plus concise et performante existe :

public static bool ContainsAllItems<T>(List<T> a, List<T> b)
{
    return !b.Except(a).Any();
}
Copier après la connexion

Ce code exploite le "Sauf " méthode pour identifier tous les éléments de "b" qui ne sont pas dans "a". Si de tels éléments existent, le résultat est inversé pour renvoyer "false", indiquant que "a" ne contient pas tous les éléments de "b".

Conclusion

Alors que l'approche "ListHelper" est valide, l'alternative .NET proposée dans les versions 3.5 et supérieures offre une plus grande efficacité et simplicité. En utilisant les méthodes « Except » et « Any », le code vérifie l'absence d'éléments dans « b » qui ne sont pas dans « a ». Cette approche est plus concise et exploite la puissance de LINQ pour des opérations d'ensemble performantes.

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