- Domyślnie pierwsza wartość enumeracji to 0, którą można jawnie przypisać do enum.
- Możesz zdefiniować typ bazowy enum, na przykład enum E: short {}, sizeof(E) == 2; domyślnie int.
- Wyliczony łańcuch dziedziczenia: ValueType->Enum->enum
- Konwersja między typem enum a typem bazowym jest wyraźna, z wyjątkiem 0, ponieważ istnieje niejawna konwersja z 0 na dowolny typ enum.
- ToString() enum generuje identyfikator wartości enum,
- Od ciągu do wyliczenia: AEnumType a = (AEnumType) Enum.Parse(typeof(AEnumType), "flag"); może się nie udać, a kod powinien zawierać mechanizmy obsługi wyjątków.
- Możesz użyć Enum.IsDefined(), aby sprawdzić, czy wartość jest uwzględniona w enum.
jeśli (! Enum.IsDefined(typeof(SearchMode), options)) throw new ArgumentException(Properties.Resources.InvalidEnumerationValue, "options");
SearchMode jest typem enum, jeśli wartość opcji przechodzących nie mieści się w zakresie tej definicji enum,Na przykład, jeśli enum definiuje 1,2, a opcje pochodzą z 3 rzutów, to metoda IsDefined zwraca fałszywe.
|