C #: ¿son todas las constantes Enum?
Pregunta
¿Todas las enumeraciones Enum son constantes? ¿Se convierten a su valor en tiempo de compilación o en tiempo de ejecución?
Solución
Son constantes. Sí, tiempo de compilación.
Referencia: http://msdn.microsoft.com/en-us/library/sbbt4032.aspx
De la introducción:
La palabra clave enum se usa para declarar una enumeración, un tipo distinto que consiste en un conjunto de constantes con nombre llamado la lista de enumeradores.
En " Programación robusta " ;:
Al igual que con cualquier constante, todas referencias a los valores individuales de una enumeración se convierte en numérico literales en tiempo de compilación . Esto puede crear posibles problemas de versiones como descrito en Constantes (Programación de C # Guía).
Otros consejos
Los valores de enumeración son constantes, no pueden cambiar.
Sus valores se fijan en tiempo de compilación.