Tradicionalmente, en los lenguajes de programación tenemos varios tipos de datos predefinidos, tal como es el caso en c#. Podemos mencionar entre estos, Int32, Decimal, String, Boolean, entre otros. Sin embargo, esto implica que puede que tengamos algunas limitaciones frente a algunos escenarios particulares.

Para ejemplificar, imaginemos que necesitamos crear un objeto que represente un avión. Podemos utilizar los tipos de datos predefinidos, para almacenar ciertas propiedades como modelo(String), kilometraje(Int32). Por otra parte, tal vez quisiéramos representar un avión como una entidad, de tal modo que pudiéramos realizar acciones como agregar a una colección o comparar un avión con otro. ¿Cómo sería esto posible?

 

Afortunadamente, podemos crear nuestros propios tipos simples de datos, mediante el uso de estructuras y enumeraciones. Una enumeración o Enum, es un tipo de dato que nos permite crear una variable, que define todos los posibles valores fijos que pueda contener. Un tipo de enumeración consiste en un conjunto de constantes denominado lista de enumeradores.

Por ejemplo, si el programa utiliza los días de la semana, es posible crear un nuevo tipo llamado DayOfWeek. Como sabemos la semana solo tiene 7 posibles valores, para definir estos valores, podemos utilizar un tipo de enumeración que se declara utilizando la palabra mágica Enum.

Convirtiendo en Código

magic-wand

enum1

Mostrar valores literales de enumeración

Si necesita tener acceso al nombre o las palabras que se está utilizando en el tipo de datos enum, puede hacerlo mediante el método ToString(), de la siguiente manera:

enum6

Establecer valores predeterminados

De manera predeterminada, el primer valor en el tipo enumerado es un cero. Se puede especificar un valor inicial diferente, de la siguiente forma:

enum7

De hecho, se pueden definir valores enteros únicos para todos los valores:

enum8

Ventajas:

like

Algunas de las ventajas de las que obtendremos al utilizar enumeraciones son:

  1. Administración mejorada. Esto es porque restringimos a la variable a conjunto de valores válidos, por lo cual, existe menos posibilidad de argumentos incorrectos o no válidos para la variable.
  2. Experiencia de desarrollador mejorada. Visual Studio nos indica los valores disponibles cuando se utiliza una enumeración.
  3. Legibilidad mejorada del código. La sintaxis en el uso de enumeraciones hace el código más fácil de entender

Datos Importantes y Recomendaciones:

light-bulb

  • Cuando no se especifican valores para los elementos de la lista de enumeradores, los valores se incrementan automáticamente en 1.
  •  Cuando cree una enumeración, seleccione el valor predeterminado más lógico y asígnele un valor de cero. Esto hará que todas las enumeraciones tengan ese valor predeterminado si no se les asigna explícitamente un valor cuando se crean.
  • Un enumerador no puede contener espacios en blanco en su nombre.
  • Si defines un método con una propiedad que toma el valor de una constante en un enumerador, debes considerar la validación de dicho valor.
  • Si otros desarrolladores utilizan tú código, debería proporcionar instrucciones sobre cómo debería reaccionar el código de ellos al agregar nuevos elementos a cualquier tipo enum.
  • Los tipos de datos admitidos con enum                            son: bytesbyteshortushortintuint, longulong.

Este es solo un articulo introductorio, donde espero que haya quedado claro los conceptos expuestos. Si le has gustado no olviden compartirlo y dejarme saber sus opiniones.