2009-01-01 10 views
9

¿Son todas las enumeraciones de Enum constantes? ¿Reciben convertido a su valor en tiempo de compilación, o en tiempo de ejecución?C# - ¿son todas las constantes de Enum?

+0

No puedo imaginar por qué alguien votaría por esta pregunta. – AnthonyWJones

+0

Tal vez porque (s) pensó que alguien podría responder esta pregunta con Google y debería intentarlo primero. Personalmente, aún no he llegado a una conclusión sobre dónde trazar la línea, pero en mi humilde opinión debería haber una línea. –

+0

Google funciona con sitios como este, preguntas tan sencillas como esta están bien para mí. Preferiría estas a todas las preguntas tontas de la encuesta. –

Respuesta

16

Son constantes. Sí, compilar el tiempo.

Referencia: http://msdn.microsoft.com/en-us/library/sbbt4032.aspx

Desde la introducción:

La palabra clave enum se utiliza para declarar una enumeración, un tipo diferenciado que consiste en un conjunto de constantes con nombre llamado lista de enumeradores.

En "Programación robusta":

Al igual que con cualquier constante, todos los referencias a los valores individuales de una enumeración son convertidos a numéricos literales en tiempo de compilación. Esto puede crear posibles problemas de control de versiones como descrito en Constantes (Programación C# ).

6

Los valores enum son constantes, no pueden cambiar.

Sus valores están corregidos en tiempo de compilación.

Cuestiones relacionadas