Das Beispiel unten zeigt, wie Flags eingesetzt werden können um bitweise mit Kombinationen arbeiten zu können. Mehrere Flags können mit einem OR-Operator verknüpft werden (Siehe Zeile 14). Eine Kombination kann über einen AND-Operator aufgelöst werden (Siehe z. B. Zeile 19).
1 [Flags()]
2
public
enum
Usage
3 {
4 Private = 1,
5 Commercial = 2,
6 Education = 4,
7 Training = 8
8 }
9
10
class
Program
11 {
12
static
void Main(string[] args)
13 {
14 TheUsage(Usage.Commercial | Usage.Education);
15 }
16
17
static
void TheUsage(Usage usage)
18 {
19
bool isPrivate = (Usage.Private & usage) == Usage.Private; // false
20
bool isCommercial = (Usage.Commercial & usage) == Usage.Commercial; // true
21
bool isEducation = (Usage.Education & usage) == Usage.Education; // true
22
bool isTraining = (Usage.Training & usage) == Usage.Training; // false
23 }
24 }
Ich liebe es.
0 Kommentare:
Kommentar veröffentlichen