Maison >développement back-end >C++ >Comment puis-je vérifier efficacement plusieurs valeurs dans une instruction « if » ?

Comment puis-je vérifier efficacement plusieurs valeurs dans une instruction « if » ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-10 12:56:41726parcourir

How Can I Efficiently Check for Multiple Values in an `if` Statement?

Rationalisation des contrôles de valeurs multiples dans les if déclarations

Les programmeurs rencontrent fréquemment le besoin de vérifier plusieurs valeurs dans les instructions if. Bien que l'enchaînement des comparaisons avec des opérateurs logiques (comme || ou &&) fonctionne, cela peut devenir fastidieux, surtout lorsqu'il s'agit de nombreuses valeurs potentielles. Cet article explore des méthodes plus propres et plus concises, en particulier lorsque vous travaillez avec des tableaux de valeurs.

Exploiter les fonctions de tableau intégrées

De nombreux langages de programmation offrent des fonctions intégrées conçues pour une vérification efficace des valeurs dans les tableaux. Par exemple, la méthode Contains() de C# détermine facilement si un tableau comprend un élément spécifique.

Exemple illustratif en C# :

<code class="language-csharp">if (new[] { 1, 2 }.Contains(value)) { /* ... */ }</code>

Cela évalue de manière concise true si value vaut 1 ou 2. Il est essentiel de se rappeler que cette approche diffère légèrement de l'utilisation d'opérateurs logiques dans l'instruction if.

Méthodes d'extension personnalisées : une solution plus élégante

La création de méthodes d'extension personnalisées offre un moyen puissant et orienté objet d'améliorer les fonctionnalités de type intégrées. Considérons une méthode d'extension nommée In() qui vérifie la présence d'une valeur dans un tableau du même type.

Méthode d'extension In() personnalisée (C#) :

<code class="language-csharp">public static bool In<T>(this T obj, params T[] args)
{
    return args.Contains(obj);
}</code>

Utilisation de la In() méthode d'extension :

<code class="language-csharp">if (1.In(1, 2)) { /* ... */ }</code>

Cela permet d'obtenir le même résultat que l'exemple précédent mais avec une lisibilité améliorée et une conception orientée objet. Les méthodes d'extension sont inestimables pour étendre les types existants sans altérer leurs définitions d'origine.

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