C # - sont toutes les constantes Enum?
Question
Toutes les énumérations d’énumérations sont-elles constantes? Est-ce qu'ils sont convertis à leur valeur au moment de la compilation ou au moment de l'exécution?
La solution
Ils sont constants. Oui, compilez le temps.
Référence: http://msdn.microsoft.com/en-us/library/sbbt4032.aspx
À partir de l'intro:
Le mot clé enum est utilisé pour déclarer une énumération, un type distinct qui se compose d'un ensemble de constantes nommées appelé la liste des enquêteurs.
Sous "Programmation robuste":
Comme avec toute constante, tout des références aux valeurs individuelles de une énumération est convertie en numérique littéraux au moment de la compilation . Cela peut créer des problèmes de versioning potentiels décrit dans Constantes (Programmation C #) Guide).
Autres conseils
Les valeurs Enum sont des constantes, elles ne peuvent pas changer.
Leurs valeurs sont fixées au moment de la compilation.