Enumeraciones en C#

Post date: Aug 27, 2010 4:21:51 AM

Las enumenraciones en C# son un mecanismo para definir constantes enteras. Típicamente se utilizan como elementos que permiten clasificar otros valores.

Por ejemplo, TipoElementoDeInteraccion puede definirse como una enumeración de la siguiente forma:

public enum TipoElementoDeInteraccion { Texto, AreaTexto, SelSimple, SelMultiple, Numerico, Fecha, }

Ahora TipoElementoDeInteraccion.Texto y el resto son constantes que pueden ser usadas en otras clases. Es posible asignar valores entre enumeraciones y enteros mediante casting, sin embargo, al asignar un entero a una variable del tipo enumeración no se verifica que el valor corresponda con alguna de las constante:

TipoElementoDeInteraccion elem = TipoElementoDeInteraccion.SelMultiple; elem = (TipoElementoDeInteraccion)0; //Texto elem = (TipoElementoDeInteraccion)200; //No corresponde a ninguna constante int e = (int)TipoElementoDeInteraccion.SelMultiple; //3

Los valores de la enumeración son representados como enteros, asignados a partir de cero en el orden textual de las definiciones, por ejemplo TipoElementoDeInteraccion.Texto vale cero. Estos valores pueden ser fijados de otra forma en la definición de la enumeración, incluso, algunas de las constantes podrían tener el mismo valor:

public enum TipoElementoDeInteraccion2 { Texto = 1, AreaTexto = 2, SelSimple = 4, SelMultiple = 8, Numerico = 16, Fecha = 32, }

Cuidado, cuando una variable de tipo enumeración no se inicializa, su valor inicial es cero, que puede corresponder o no a una de las constantes.

TipoElementoDeInteraccion elem2; //No corresponde a ninguna constante

Enlaces relacionados

Cursos relacionados