Wusstet ihr schon… Enumerationen?

Enumerationen oder auch Aufzählungen sind für den Computer nicht mehr und nicht weniger als Integer-Typen. Jede Aufzählung (außer jene, bei welchen man dies verändert hat) lässt sich zum Integer wandeln und jeder Integer kann zu einer Aufzählung gewandelt werden (für letzteres gelten allerdings einige Einschränkungen, da die  Zahl in der Aufzählung präsent sein muss). Darum kann auch jedem Eintrag in einer Aufzählung eine Ganzzahl zugewiesen werden (in der Regel verwendet man hier die 2er-Potenzen um so mittels „Flag“-Attribut „oder“, „und“ „exklusiv oder“ und die anderen Bit-Operatoren verwenden kann). 

[Flags]
public enum EineAufzaehlung
{
    ErsterEintragImEnum = 1, 
    ZweiterEintragImEnum = 2, 
    DritterEintragImEnum = 4, 
    VierterEintragImEnum = 8
}

Hier im Beispiel wird das „Flag“-Attribut verwendet, um die Bit-Operatoren korrekt zu ermöglichen. Außerdem bekommen die möglichen Aufzählungswerte 2er-Potenzen zugewiesen. Somit ist z.B. der Wert Integer-Wert 3 gleichzeitig der erste sowie zweite Aufzählungseintrag.