- Som standard er den første verdien i enumerasjonen 0, som eksplisitt kan tilordnes enum.
- Du kan definere basistypen til enumet, slik som enum E : short {}, sizeof(E) == 2; int som standard.
- Enumerert arvekjede: ValueType->Enum->enum
- Konverteringen mellom enumtypen og basistypen er eksplisitt, bortsett fra 0, fordi det er en implisitt konvertering fra 0 til en hvilken som helst enumtype.
- Enumets ToString() gir ut identifikatoren til sin enumverdi,
- Fra streng til oppramsing: AEnumType a = (AEnumType) Enum.Parse(typeof(AEnumType), "flagg"); kan feile, og koden bør inkludere unntakshåndteringsmekanismer.
- Du kan bruke Enum.IsDefined() for å sjekke om en verdi er inkludert i et enum.
hvis (! Enum.IsDefined(typeof(SearchMode), options)) kast ny ArgumentException(Properties.Resources.InvalidEnumerationValue, "options");
SearchMode er en enum-type, hvis verdien for passerende alternativer ikke er innenfor rammen av denne enum-definisjonen,For eksempel, hvis et enum definerer 1,2, og options kommer fra 3 kast, returnerer IsDefined-metoden false.
|