Einzelnen Beitrag anzeigen

Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: [C#] Set of Enum

  Alt 2. Aug 2007, 19:37
Dank euch soweit... ich war schon kurz davor das in ein Array zu wrappen

EDIT: es klappt auch += zum adden und -= zum entfernen von Flags

Code:
public enum n: uint {
  None = 0,
  a = 1,
  b = 2,
  c = 4,
  All = 7
}

// ...

n e = n.All;
e -= n.b; // ergibt n.a | n.c

//...

n e = n.None;
e += n.a; // ergibt n.a
e += n.c; // ergibt n.a | n.c
e += n.b; // ergibt n.All
nur das mit dem Herausfinden ob ein Flag drin ist mit & klappt nich

EDIT 2: okay... mit Klammern gehts doch:

Code:
if ((c & n.a) != 0) {
  // prüfung ob es schon drin ist
}

if ((c & n.a) == 0) {
  // prüfung ob es noch nicht drin ist
}
EDIT 3:

+= und -= sind nich gut

besser ist (zusammengefasst):
Code:
set |= subset; // hinzufügen
set &= ~subset; // entfernen
if ((set & subset) == subset) {
  // subset ist im set
}
if ((set & subset) != subset) {
  // subset ist nicht im set
}
  Mit Zitat antworten Zitat