Imaginez que vous avez INT N et vous devez vous assurer que ce n'est pas égal à certains chiffres.
Je résoudrais cela comme celui-ci: p> la solution Je cherche le fait avec Enums, donc: p> Il doit y avoir un moyen plus performant ou plus joli d'écrire cela. P> p>
4 Réponses :
Vous pouvez avoir une liste int n = 5; // or your way of getting value
var list = new List<int>() {9, 11, 17};
if(list.All(x=>x != n))
{
// Do your stuff here
}
Pour la performance - si l'ensemble pour valider contre est trop gros. Peut-être que vous pouvez changer la liste.Tous en parallèle.foreach.
Utilisez une matrice pour résoudre le problème
int n = 5; int[] NotAllowed = { 1, 4, 11 }; if (!NotAllowed.Contains(n)) do something..
OP demande une manière performante ou plus jolie. Certains pourraient penser que c'est plus jolie, mais ce n'est certainement pas plus performant. Vous ne seriez pas autorisé à commettre ceci dans mon référentiel: p
Si vous envisagez de réutiliser la logique, ma suggestion créerait une fonction à ce sujet. De plus, cette approche ne vous limitera pas sur le nombre de comparateurs. puis sur votre programme p>
Avec seulement 3 valeurs à comparer, aucune des alternatives proposées ne sera plus performante - et si elles sont plus jolies, c'est une question de goût. Avec un énorme ensemble de valeurs,
hashset <> contient () code> donnera la meilleure performance