- Standardmäßig ist der erste Wert der Aufzählung 0, was explizit dem Enum zugewiesen werden kann.
- Man kann den Basistyp des Enums definieren, wie zum Beispiel Enum E : short {}, sizeof(E) == 2; int standardmäßig.
- Aufgezählte Vererbungskette: ValueType->Enum->enum
- Die Umwandlung zwischen dem Enum-Typ und dem Basis-Typ ist explizit, mit Ausnahme von 0, da eine implizite Umwandlung von 0 in jeden Enum-Typ erfolgt.
- Der ToString() des Enums gibt die Identifikatorin seines Enum-Werts aus,
- Vom String zur Aufzählung: AEnumType a = (AEnumType) Enum.Parse(typeof(AEnumType), "flag"); kann ausfallen, und der Code sollte Ausnahmebehandlungsmechanismen enthalten.
- Du kannst Enum.IsDefined() verwenden, um zu prüfen, ob ein Wert in einem Enum enthalten ist.
wenn (! Enum.IsDefined(typeof(SearchMode), options)) neue ArgumentException(Properties.Resources.InvalidEnumerationValue, "options") werfen;
SearchMode ist ein Enum-Typ, wenn der Passing-Options-Wert nicht innerhalb des Anwendungsbereichs dieser Enum-Definition liegt,Zum Beispiel, wenn ein Enum 1,2 definiert und Optionen aus 3 Casts stammen, dann gibt die IsDeD-Methode false zurück.
|