Hallo
schreibe gerade an meinem ersten C#-Programm und falls dauernd auf die Nase. Aktuelles Problem:
Ich lese eine Digitale Karte ein und möchte wissen, ob Bit 0, 1, 2 usw gesetzt sind. ich möchte den Bits auch Namen geben.
Beispiel
bisher in C++:
C++-Quelltext
1: 2: 3: 4:
| #define SWITCH1 1 #define SWITCH2 2 #define SWITCH3 4 #define SECURE 8 usw |
dann
C++-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| int di; if( di & SWITCH1 ) { irgendwas } if( di & SWITCH2 ) { was anderes } |
Defines kann ich in Visual C# Express 2010 gar nicht verwenden, da kommt ne Fehlermeldung ich müsste das vor irgendwas verwenden, kann ich nix damit anfangen
jetzt hab ich ein Bitfeld dfiniert
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| enum PORT1BITS : byte { SWITCH1 1, SWITCH2 2, SWITCH3 4, SWITCH4 8 }; |
und wenn ich jetzt schreibe
C#-Quelltext
1:
| if( di & PORT1BITS.SWITCH1 ) |
meckert der Compiler ich könnte '&' nicht mit Bool und int verwenden
Wie mach ich das richtig?
Gruß
Gerhard
Moderiert von
Christian S.: C#-Tags hinzugefügt