- Som standard är det första värdet i uppräkningen 0, vilket explicit kan tilldelas enumet.
- Du kan definiera bastypen för enumet, såsom enum E : short {}, sizeof(E) == 2; int som standard.
- Uppräknad arvskedja: ValueType->Enum->enum
- Omvandlingen mellan enumtypen och bastypen är explicit, förutom för 0, eftersom det finns en implicit konvertering från 0 till vilken enumtyp som helst.
- Enumets ToString() ger identifieraren för dess enumvärde,
- Från sträng till uppräkning: AEnumType a = (AEnumType) Enum.Parse(typeof(AEnumType), "flag"); kan misslyckas, och koden bör inkludera undantagshanteringsmekanismer.
- Du kan använda Enum.IsDefined() för att kontrollera om ett värde ingår i ett enum.
om (! Enum.IsDefined(typeof(SearchMode), options)) kasta ny ArgumentException(Properties.Resources.InvalidEnumerationValue, "options");
SearchMode är en enum-typ, om det passande optionsvärdet inte ligger inom ramen för denna enumdefinition,Till exempel, om ett enum definierar 1,2, och options kommer från 3 kast, så returnerar IsDefined-metoden false.
|