La Façon la Plus Simple de Vérifier Si Une Variable Équivaut à Une Valeur d’une Liste en C#

Lorsque vous travaillez avec C#, il est courant de devoir vérifier si une variable correspond à l’une de plusieurs valeurs. La question devient alors : “quelle est la manière la plus succincte d’y parvenir ?” En particulier, vous voudrez éviter de répéter la variable que vous vérifiez plusieurs fois, tout en évitant des implémentations de syntaxe longues comme des tableaux ou des listes lorsque cela n’est pas nécessaire.

Dans cet article de blog, nous allons explorer différentes solutions pour déterminer si une variable est égale à l’un d’un ensemble de valeurs de manière efficace en utilisant la logique booléenne.

L’Approche Commune

Souvent, les développeurs peuvent recourir à l’utilisation de l’opérateur logique OU (||) pour effectuer une comparaison directe comme ceci :

int casDeBase = 5;
bool resultatTest = casDeBase == 3 || casDeBase == 7 || casDeBase == 12 || casDeBase == 5;

Bien que cette solution fonctionne, elle nécessite un code répétitif pour chaque valeur à vérifier. Comme vous pouvez le voir, si vous avez une longue liste de valeurs, le code peut rapidement devenir encombrant et sujet à des erreurs.

Repenser Votre Approche

Une question soulevée était de savoir s’il existe un moyen d’encapsuler cette logique de manière plus succincte sans utiliser d’expressions longues ou de fonctionnalités de .NET 3.5. Il est à noter que vous voudriez éviter d’utiliser des constructions qui nécessitent des tableaux. Examinons une approche plus compacte.

Utilisation de Contains

Si vous êtes toujours intéressé par un moyen plus efficace de vérifier plusieurs valeurs, l’une des meilleures méthodes consiste à exploiter la méthode Contains, même si cela implique d’utiliser un tableau ou une liste. Voici comment vous pourriez écrire :

bool resultatTest = new int[] { 3, 7, 12, 5 }.Contains(casDeBase);

Pourquoi utiliser Contains ?

Cette méthode simplifie votre code de plusieurs manières clés :

  • Lisibilité : Elle améliore la clarté du code. Quiconque lit votre code peut immédiatement comprendre ce que vous essayez de faire sans déchiffrer une opération OU compliquée.
  • Flexibilité : Vous pouvez rapidement modifier la liste des valeurs contre lesquelles vous vérifiez sans changer la structure de votre logique.
  • Scalabilité : Ajoutez ou retirez des éléments dans votre condition sans vous soucier de l’enflure du code ou de la répétition.

Considérations pour les Utilisateurs de .NET 2.0

Étant donné les contraintes de l’utilisation du framework .NET 2.0, certaines fonctionnalités disponibles dans les versions ultérieures ne sont pas accessibles. Cependant, l’implémentation de Contains partagée ci-dessus fonctionne bien dans le cadre de .NET 2.0. Ce qui suit reste une solution simple mais efficace :

bool b = new int[] { 3, 7, 12, 5 }.Contains(5);

Conclusion

Déterminer si une variable est égale à une valeur d’un ensemble peut être géré de manière élégante en utilisant la méthode Contains dans un tableau. Cela offre une solution propre et compacte tout en maintenant la lisibilité du code et en réduisant le risque d’erreur avec des expressions logiques longues. N’oubliez pas, au fur et à mesure que vous élaborez des scénarios logiques plus complexes en C#, l’exploitation de ces méthodes peut soutenir un code propre et maintenable qui fonctionne bien même sur des frameworks plus anciens tels que .NET 2.0.

Alors la prochaine fois que vous aurez besoin de vérifier une variable contre une liste, gardez ces stratégies à l’esprit pour un code plus propre !