Professional Documents
Culture Documents
REPORTE DE INVESTIGACIÓN
ENUM EN C#
ISMB -3
27/08/2010
ÍNDICE
INTRODUCCIÓN………………………….1
CONCLUSIÓN…………………………….6
BIBLIOGRAFÍA……………………………7
INTRODUCCIÓN
Comprenderá la palabra Enum como referencia a una enumeración, es decir, a un tipo que
agrupa un conjunto de constantes, esto nos ayuda haciendo que el código sea legible y
comprensible. También es utilizado para declarar una enumeración, un tipo distinto que
consiste en un conjunto de constantes con nombre denominado lista de enumeradores. Cada
tipo de enumeración tiene un tipo subyacente, que puede ser cualquier tipo integral excepto
char. El tipo predeterminado subyacente de los elementos de la enumeración es int. De forma
predeterminada, el primer enumerador tiene el valor 0 y el valor de cada enumerador sucesivo
se incrementa en 1.
1
ENUM EN C#
La palabra clave enum se utiliza para declarar una enumeración, un tipo distinto que consiste
en un conjunto de constantes con nombre denominado lista de enumeradores. Cada tipo de
enumeración tiene un tipo subyacente, que puede ser cualquier tipo integral excepto char. El
tipo predeterminado subyacente de los elementos de la enumeración es int. De forma
predeterminada, el primer enumerador tiene el valor 0 y el valor de cada enumerador sucesivo
se incrementa en 1. Por ejemplo:
A una variable de tipo Days se le puede asignar cualquier valor en el intervalo del tipo
subyacente; los valores no se limitan a las constantes con nombre.
Nota
int x = (int)Days.Sun;
Programación sólida
Asignar valores adicionales a nuevas versiones de enumeraciones o cambiar los valores de los
miembros de enumeración en una nueva versión, puede producir problemas para el código
fuente dependiente. Es común que los valores enum se utilicen en instrucciones switch y, si se
han agregado elementos adicionales al tipo enum, la comprobación de los valores
predeterminados puede devolver true de forma inesperada.
Ejemplo
// keyword_enum.cs
// enum initialization:
using System;
public class EnumTest
{
enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
Resultados
Sun = 2
Fri = 7
En este ejemplo, la opción de tipo base se utiliza para declarar un enum cuyos miembros son
del tipo long. Observe que a pesar de que el tipo subyacente de la enumeración es long, los
miembros de la enumeración todavía deben convertirse explícitamente al tipo long mediante
una conversión de tipos.
// keyword_enum2.cs
// Using long enumerators
using System;
public class EnumTest
{
enum Range :long {Max = 2147483648L, Min = 255L};
static void Main()
{
long x = (long)Range.Max;
long y = (long)Range.Min;
Console.WriteLine("Max = {0}", x);
Console.WriteLine("Min = {0}", y);
}
}
Resultados
Max = 2147483648
Min = 255
// enumFlags.cs
// Using the FlagsAttribute on enumerations.
using System;
[Flags]
public enum CarOptions
{
SunRoof = 0x01,
Spoiler = 0x02,
FogLights = 0x04,
TintedWindows = 0x08,
}
class FlagTest
{
static void Main()
{
CarOptions options = CarOptions.SunRoof | CarOptions.FogLights;
Console.WriteLine(options);
Console.WriteLine((int)options);
}
}
Resultados
SunRoof, FogLights
5
5
CONCLUSION
De esta manera podemos concluir que Enum es utilizado para declarar una enumeración, un
tipo distinto que consiste en un conjunto de constantes con nombre denominado lista de
enumeradores. Cada tipo de enumeración tiene un tipo subyacente, que puede ser cualquier
tipo integral excepto char. El tipo predeterminado subyacente de los elementos de la
enumeración es int. De forma predeterminada, el primer enumerador tiene el valor 0 y el valor
de cada enumerador sucesivo se incrementa en 1.Las enumeraciones son buenas para las listas
de cosas que nunca o muy rara vez cambian, las enumeraciones no son muy buenas para las
listas que tienen frecuentemente modificaciones ya que tendríamos que volver a compilar el
código cada vez que haya cambiado algo en la numeración, las enumeraciones deben de tener
valores con los siguientes tipos de datos: Byte, Integer, Long, or Short, si se pueden traducir
los valores de la enumeración a uno de estos tipos de datos, la lista es un buen candidato para
una enumeración, pero si los valores son de tipo char o string la lista no es muy buena para
una enumeración.
6
BLIBLIOGRAFIA
http://msdn.microsoft.com/es-es/library/sbbt4032(VS.80).aspx
http://es.wikibooks.org/wiki/C_sharp_NET/Cap%C3%ADtulo_10
http://www.esasp.net/2010/03/enum-c-tips-enumeraciones.html
http://www.clikear.com/manuales/csharp/c110.aspx
http://www.csharp-station.com/Tutorials/lesson17.aspx