Maison >développement back-end >C++ >Un tableau est-il un sous-ensemble d'un autre utilisant LINQ ?

Un tableau est-il un sous-ensemble d'un autre utilisant LINQ ?

DDD
DDDoriginal
2025-01-20 05:51:08295parcourir

Is One Array a Subset of Another Using LINQ?

Utilisez LINQ pour vérifier efficacement les relations entre les sous-ensembles de tableaux

En programmation, il est souvent nécessaire de déterminer si un tableau est un sous-ensemble d'un autre tableau. Ceci est crucial dans le traitement et l’analyse des données. Cet article explore une méthode basée sur LINQ pour vérifier efficacement les relations entre les sous-ensembles de tableaux.

Considérons deux exemples de tableaux :

<code>List<double> t1 = new List<double> { 1, 3, 5 };
List<double> t2 = new List<double> { 1, 5 };</code>

Notre objectif est de déterminer si t2 est un sous-ensemble de t1. En tirant parti des puissantes méthodes d'extension LINQ, nous pouvons vérifier efficacement cette condition à l'aide des méthodes Except() et Any().

La méthode

Except() renvoie une nouvelle collection contenant des éléments présents dans la première collection mais pas dans la seconde collection. Par conséquent, vérifier si le résultat de t2.Except(t1) est un ensemble vide peut déterminer si tous les éléments de t2 sont dans t1.

Utilisez des opérateurs logiques pour annuler le résultat, comme indiqué dans le code ci-dessous, afin de déterminer si t2 est un sous-ensemble de t1.

<code>bool isSubset = !t2.Except(t1).Any();</code>

Dans l'exemple fourni, isSubset sera évalué comme true, confirmant que t2 est bien un sous-ensemble de t1, puisque tous les éléments de t2 sont également présents dans t1.

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!

Déclaration:
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