Enumeradores
Enum, también conocido como Enumerador, es una estructura para agrupar constantes integrales. Las constantes son básicamente del tipo int
.
La siguiente es la sintaxis para crear un enum:
index.cs
1234567enum EnumName { Const1, Const2, Const3, ... }
Por defecto, el primer elemento de un enum tiene el valor 0, el segundo elemento tiene el valor 1
y así sucesivamente.
Por ejemplo:
index.cs
12345678910enum Days { Monday, // 0 Tuesday, // 1 Wednesday, // 2 Thursday, // 3 Friday, // 4 Saturday, // 5 Sunday // 6 }
Puedes acceder a los valores de estas constantes utilizando la sintaxis enumName.constantName
.
Por ejemplo:
index.cs
123456789101112131415161718192021222324using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); // 0 Console.WriteLine((int)Days.Wednesday); // 2 Console.WriteLine((int)Days.Friday); // 4 Console.WriteLine((int)Days.Sunday); // 6 } }
Tenga en cuenta que en el ejemplo anterior es necesario convertir explícitamente la constante a un tipo de dato int
, ya que estas constantes son de tipo Days
por defecto, lo que significa que el enum Days
es un nuevo tipo de dato que usted creó. Por lo tanto, puede almacenarse en una variable de tipo Days
:
Days day = Days.Friday;
Esto resulta útil en lugares como las sentencias switch.
Por ejemplo:
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { Days day = Days.Friday; switch (day) { case Days.Monday: Console.WriteLine("It is Monday"); break; case Days.Tuesday: Console.WriteLine("It is Tuesday"); break; case Days.Wednesday: Console.WriteLine("It is Wednesday"); break; case Days.Thursday: Console.WriteLine("It is Thursday"); break; case Days.Friday: Console.WriteLine("It is Friday"); break; case Days.Saturday: Console.WriteLine("It is Saturday"); break; case Days.Sunday: Console.WriteLine("It is Sunday"); break; default: Console.WriteLine("Invalid Day"); break; } } }
También es posible asignar manualmente valores a las constantes del enum. Las constantes no asignadas toman valores incrementados de los elementos anteriores:
index.cs
123456789101112131415161718192021222324252627using System; enum Days { Monday, Tuesday, Wednesday = 5, Thursday, Friday, Saturday = 10, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); Console.WriteLine((int)Days.Tuesday); Console.WriteLine((int)Days.Wednesday); Console.WriteLine((int)Days.Thursday); Console.WriteLine((int)Days.Friday); Console.WriteLine((int)Days.Saturday); Console.WriteLine((int)Days.Sunday); } }
1. ¿Qué es un enum en C#?
2. ¿Qué palabra clave se utiliza para definir un enum?
3. En un enum, ¿cuál es el tipo subyacente predeterminado para los valores?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 2.04
Enumeradores
Desliza para mostrar el menú
Enum, también conocido como Enumerador, es una estructura para agrupar constantes integrales. Las constantes son básicamente del tipo int
.
La siguiente es la sintaxis para crear un enum:
index.cs
1234567enum EnumName { Const1, Const2, Const3, ... }
Por defecto, el primer elemento de un enum tiene el valor 0, el segundo elemento tiene el valor 1
y así sucesivamente.
Por ejemplo:
index.cs
12345678910enum Days { Monday, // 0 Tuesday, // 1 Wednesday, // 2 Thursday, // 3 Friday, // 4 Saturday, // 5 Sunday // 6 }
Puedes acceder a los valores de estas constantes utilizando la sintaxis enumName.constantName
.
Por ejemplo:
index.cs
123456789101112131415161718192021222324using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); // 0 Console.WriteLine((int)Days.Wednesday); // 2 Console.WriteLine((int)Days.Friday); // 4 Console.WriteLine((int)Days.Sunday); // 6 } }
Tenga en cuenta que en el ejemplo anterior es necesario convertir explícitamente la constante a un tipo de dato int
, ya que estas constantes son de tipo Days
por defecto, lo que significa que el enum Days
es un nuevo tipo de dato que usted creó. Por lo tanto, puede almacenarse en una variable de tipo Days
:
Days day = Days.Friday;
Esto resulta útil en lugares como las sentencias switch.
Por ejemplo:
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { Days day = Days.Friday; switch (day) { case Days.Monday: Console.WriteLine("It is Monday"); break; case Days.Tuesday: Console.WriteLine("It is Tuesday"); break; case Days.Wednesday: Console.WriteLine("It is Wednesday"); break; case Days.Thursday: Console.WriteLine("It is Thursday"); break; case Days.Friday: Console.WriteLine("It is Friday"); break; case Days.Saturday: Console.WriteLine("It is Saturday"); break; case Days.Sunday: Console.WriteLine("It is Sunday"); break; default: Console.WriteLine("Invalid Day"); break; } } }
También es posible asignar manualmente valores a las constantes del enum. Las constantes no asignadas toman valores incrementados de los elementos anteriores:
index.cs
123456789101112131415161718192021222324252627using System; enum Days { Monday, Tuesday, Wednesday = 5, Thursday, Friday, Saturday = 10, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); Console.WriteLine((int)Days.Tuesday); Console.WriteLine((int)Days.Wednesday); Console.WriteLine((int)Days.Thursday); Console.WriteLine((int)Days.Friday); Console.WriteLine((int)Days.Saturday); Console.WriteLine((int)Days.Sunday); } }
1. ¿Qué es un enum en C#?
2. ¿Qué palabra clave se utiliza para definir un enum?
3. En un enum, ¿cuál es el tipo subyacente predeterminado para los valores?
¡Gracias por tus comentarios!