En SQL, vous pouvez utiliser la syntaxe suivante :
SELECT *
FROM MY_TABLE
WHERE VALUE_1 IN (1, 2, 3)
Existe-t-il un équivalent en C# ? L'IDE semble reconnaître "in" comme un mot-clé, mais je ne parviens pas à trouver d'informations à ce sujet.
Alors, est-il possible de faire quelque chose comme ce qui suit :
int myValue = 1;
if (myValue in (1, 2, 3))
// Do something
Au lieu de
int myValue = 1;
if (myValue == 1 || myValue == 2 || myValue == 3)
// Do something
0 votes
Je l'ai modifié un peu pour clarifier ce que j'essayais de comparer.
0 votes
Vérifier une autre réponse ajoutée par moi
0 votes
Cette question a déjà été posée plusieurs fois sur stackoverflow...
7 votes
@chiccodoro si cette question a déjà été posée, signalez-la comme un doublon et postez une réponse avec le lien vers la question originale, ne laissez pas simplement un commentaire négatif.
0 votes
Je suis toujours curieux de savoir pourquoi ce n'est pas une fonctionnalité intégrée au langage (et, au minimum, au moins pour les chaînes de caractères). D'autres langages tels que SQL et Python disposent de cette fonctionnalité. Il y a souvent une raison légitime et, étant donné la simplicité de celle-ci, je doute qu'elle n'ait jamais été demandée ou envisagée.
0 votes
2021 -> C# 9 permet désormais d'utiliser les éléments suivants
... is ... or ...
l'expression. Pour quelques options, cela peut être une solution facile :if (myValue is 1 or 2 or 3)
. Source : MS Docs