Ich habe 3 Boolesche Werte in meinem Code (C#) und einer int32
-Eigenschaft, die davon abhängt, welche booleschen Werte true
und false
sind. Was ist der beste Weg, um dies auf eine andere Weise zu erreichen, als wenn Aussagen wie:Beste Möglichkeit, mehrere boolesche Bedingungen in C# zu überprüfen if-Anweisungen
if(a && b && !c)
d = 1;
if(a && !b && !c)
d = 2;
//etc.. ect...
EDIT: Die 3 booleans muss jede Kombination haben möglich, den int32 Wert einzustellen.
EDIT 2: Der Wert von "d" kann für zwei verschiedene boolesche Vergleiche gleich sein.
Wenn es immer genau drei booleans, könnten Sie einen Tisch im voraus bauen und dann nur das spezifische Element, um die booleans als Taste nachschlagen. – cdhowie
Ein Array von Ganzzahlen und dann die 3 Booleschen, die als einzelne Bits verwendet werden, um den richtigen Eintrag zu indizieren. Art der kompakten Darstellung eines Binärbaums. –
Zum BEARBEITEN: meine Antwort zeigt, wie man einen 'Kombinationsindex' aus den konstituierenden Bedingungen berechnet – sehe