1) Estoy al tanto de los siguientes beneficios:¿Beneficios de usar enumeraciones directamente usando tipos integrales?
que aumentan el nivel de abstracción, ya que de inmediato lo que ves valores integrales subyacentes representan.
Usted las puede utilizar en lugar de números mágicos y al hacer eso haciendo que el código sea más comprensible
También restringen los valores de una variable
enum
puede tener y, al hacerlo, que la aplicación sea más seguro, ya que los programadores saben qué los valores son válidos para la variable, así que supongo que tipo de proporcionar una seguridad de tipo
¿hay otros beneficios que proporcionan sobre el uso directo valores integrales?
2) ¿Por qué usan integrales como tipo subyacente y no como cadena?
agradecimiento
Véase también http://stackoverflow.com/questions/672102/why-no-non-integral-enums –
Un punto de nit-pick es que enum no hace nada para restringir los valores que una variable puede tener. Puede tener 'MyEnum evil = (MyEnum) 666;' y esto se compila muy bien, incluso si el valor puede no ser verdadero con cualquiera de los valores especificados en la enumeración. Los enums son una forma de ayudar a expresar el significado de valores particulares, pero no hay nada que obligue a los valores enum a ser realmente significativos. –