Si j'ai une variable en C# qui doit être vérifiée pour déterminer si elle est égale à l'un d'un ensemble de variables, quelle est la meilleure façon de le faire?La façon la plus succincte de déterminer si une variable est égale à une valeur d'une «liste» de valeurs
Je ne cherche pas une solution qui stocke l'ensemble dans un tableau. Je suis plus curieux de voir s'il existe une solution qui utilise la logique booléenne pour obtenir la réponse.
Je sais que je pouvais faire quelque chose comme ceci:
int baseCase = 5;
bool testResult = baseCase == 3 || baseCase == 7 || baseCase == 12 || baseCase == 5;
Je suis curieux de voir si je pouvais faire quelque chose comme ceci:
int baseCase = 5;
bool testResult = baseCase == (3 | 7 | 12 | 5);
Il est évident que la volonté fonctionne pas, mais je suis intéressé à voir s'il y a quelque chose de plus succinct que mon premier exemple, qui doit répéter la même variable encore et encore pour chaque valeur de test.
MISE À JOUR:
j'ai décidé d'accepter la réponse de CoreyN comme il semble que l'approche la plus simple. C'est pratique, et toujours simple à comprendre pour un novice, je pense. Malheureusement, là où je travaille, notre système utilise le framework .NET 2.0 et il n'y a aucune chance de mettre à jour de sitôt. Y at-il d'autres solutions qui ne tiennent pas compter sur le .NET Framework 3.5, en plus le plus évident que je peux penser à:
new List<int>(new int[] { 3, 6, 7, 1 }).Contains(5);
Voici un .NET 2.0 solution, un peu plus complexe que celle de Corey: http://stackoverflow.com/questions/18407#153037 – Joe
Un exemple javascript http://stackoverflow.com/questions/12116326 – Lijo