- În mod implicit, prima valoare a enumerării este 0, care poate fi atribuită explicit enumului.
- Poți defini tipul de bază al enumului, cum ar fi enum E: short {}, sizeof(E) == 2; int implicit.
- Lanț de moștenire enumerat: ValueType->Enum->enum
- Conversia între tipul enum și tipul de bază este explicită, cu excepția lui 0, deoarece există o conversie implicită de la 0 la orice tip enum.
- ToString() al enum-ului furnizează identificatorul valorii sale enum,
- De la șir la enumerare: AEnumType a = (AEnumType) Enum.Parse(typeof(AEnumType), "flag"); poate eșua, iar codul ar trebui să includă mecanisme de gestionare a excepțiilor.
- Poți folosi Enum.IsDefined() pentru a verifica dacă o valoare este inclusă într-un enum.
dacă (! Enum.IsDefined(typeof(SearchMode), opțiuni)) aruncă un nou ArgumentException(Properties.Resources.InvalidEnumerationValue, "options");
SearchMode este un tip enum, dacă valoarea opțiunilor de trecere nu se încadrează în sfera acestei definiții enum,De exemplu, dacă un enum definește 1,2, iar opțiunile provin din 3 cast-uri, atunci metoda IsDefined returnează false.
|