Gérer avec élégance les jugements conditionnels à valeurs multiples
De nombreux langages de programmation fournissent des instructions conditionnelles pour évaluer si une variable remplit une ou plusieurs conditions. Lorsque vous devez vérifier si une variable répond à une condition spécifique, vous utilisez généralement plusieurs instructions if imbriquées, par exemple :
<code>if (value == 1) { // value为1时执行的代码 } else { if (value == 2) { // value为2时执行的代码 } }</code>
Cette approche peut devenir verbeuse et difficile à maintenir lorsque plusieurs valeurs doivent être mises en correspondance. En SQL, ce problème peut être résolu de manière concise en utilisant l'opérateur IN :
<code class="language-sql">WHERE value IN (1, 2)</code>
Afin d'implémenter des fonctions similaires dans des langages de programmation courants, les développeurs utilisent généralement des astuces astucieuses ou étendent la bibliothèque de base. Par exemple, vous pouvez utiliser un tableau :
<code class="language-csharp">if (new[] { 1, 2 }.Contains(value)) { // value为1或2时执行的代码 }</code>
Une autre solution consiste à définir une méthode d'extension :
<code class="language-csharp">public static bool In<T>(this T obj, params T[] args) { return args.Contains(obj); }</code>
En utilisant cette méthode d'extension, vous pouvez écrire comme ceci :
<code class="language-csharp">if (1.In(1, 2)) { // value为1或2时执行的代码 }</code>
Ces techniques offrent un moyen plus élégant d'exprimer des vérifications conditionnelles sur plusieurs valeurs, améliorant ainsi la lisibilité et la maintenabilité du code.
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!