- Per impostazione predefinita, il primo valore dell'enumerazione è 0, che può essere esplicitamente assegnato all'enum.
- Puoi definire il tipo base dell'enum, come enum E: short {}, sizeof(E) == 2; int di default.
- Catena di eredità enumerata: ValueType->Enum->enum
- La conversione tra il tipo enum e il tipo base è esplicita, tranne che per 0, perché c'è una conversione implicita da 0 a qualsiasi tipo di enum.
- Il ToString() dell'enum fornisce l'identificatore del suo valore enum,
- Dalla stringa all'enumerazione: AEnumType a = (AEnumType) Enum.Parse(typeof(AEnumType), "flag"); può fallire, e il codice dovrebbe includere meccanismi di gestione delle eccezioni.
- Puoi usare Enum.IsDefined() per verificare se un valore è incluso in un enum.
se (! Enum.IsDefined(typeof(SearchMode), options)) getta nuova ArgumentException(Properties.Resources.InvalidEnumerationValue, "options");
SearchMode è un tipo enum, se il valore delle opzioni di passaggio non rientra nell'ambito di questa definizione enum,Ad esempio, se un enum definisce 1,2 e le opzioni provengono da 3 cast, allora il metodo IsDefined restituisce false.
|