- Par défaut, la première valeur de l’énumération est 0, qui peut être explicitement attribuée à l’enum.
- Vous pouvez définir le type de base de l’enum, comme enum E : short {}, sizeof(E) == 2 ; int par défaut.
- Chaîne d’héritage énumérée : ValueType->Enum->enum
- La conversion entre le type d’enum et le type de base est explicite, sauf pour 0, car il y a une conversion implicite de 0 à tout type enum.
- Le ToString() de l’enum affiche l’identifiant de sa valeur enum,
- De la chaîne à l’énumération : AEnumType a = (AEnumType) Enum.Parse(typeof(AEnumType), « flag ») ; peut échouer, et le code doit inclure des mécanismes de gestion des exceptions.
- Vous pouvez utiliser Enum.IsDefined() pour vérifier si une valeur est incluse dans un enum.
si ( ! Enum.IsDefined(typeof(SearchMode), options)) lancer une nouvelle ArgumentException(Properties.Resources.InvalidEnumerationValue, « options ») ;
SearchMode est un type enum, si la valeur des options de passage ne relève pas de cette définition enum,Par exemple, si un enum définit 1,2, et que les options proviennent de 3 casts, alors la méthode IsDefined restitue faux.
|