La meilleure façon de vérifier plusieurs conditions booléennes en C# si les déclarations

J'ai 3 valeurs booléennes sur mon code (C#) et un int32 bien ça dépend de ce que les booléens sont true et false.
Quel est le meilleur moyen pour y parvenir d'une autre manière que si des déclarations comme:

if(a && b && !c)
   d = 1;
if(a && !b && !c)
   d = 2;
//etc.. ect...

EDIT: Les 3 booléens doivent avoir toutes les combinaisons possibles pour définir la valeur int32.

EDIT 2: La valeur de "d" peut être le même pour les deux booléens comparations.

Si il y a toujours exactement trois booléens, vous pouvez créer une table à l'avance et ensuite il suffit de rechercher l'élément en utilisant les opérations booléennes comme clés.
Un tableau d'entiers puis le 3 booléens utilisés comme bits d'index à l'entrée. Type de représentation compacte d'un arbre binaire.
EDIT: ma réponse montre comment calculer un "indice de combinaison" de la constituante conditions

OriginalL'auteur Phoenix_uy | 2013-04-09