Enum en C # - Métodos de trabajo y Top 3 Enum en C # con ventajas

Tabla de contenido:

Anonim

Introducción a Enum en C #

Enum es una palabra clave reservada en C #, que representa una enumeración. Una enumeración es un tipo definido por el usuario en C # que contiene un conjunto de constantes con nombre. Cada constante en el conjunto tiene un valor (por defecto enteros). Se puede acceder a las constantes a través de nombres y valores. Por lo tanto, los nombres no pueden duplicarse en una enumeración.

La sintaxis de una enumeración es sencilla. Comienza con la palabra clave enum, seguida de un nombre de variable, seguido de un conjunto de constantes con nombre envueltas entre llaves. Por supuesto, termina con un punto y coma.

Sintaxis:

enum ();

Ejemplo:

enum Day ( Sun, Mon, Tue, Wed, Thu, Fri, Sat );
enum Month ( Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec );

Trabajo de Enum en C #

Tratemos de entender cómo funciona enum en C #. Las enumeraciones tienen un tipo subyacente en C #. Esto significa que cada constante en la enumeración tendrá un valor del tipo subyacente asignado. El tipo de enumeración subyacente predeterminado en C # es un número entero.

En el día de enumeración anterior, tenemos siete constantes declaradas. Tiene un tipo de entero subyacente predeterminado. Por lo tanto, cada constante tendrá un valor entero asignado. Por defecto, el valor comienza en 0. Por lo tanto, Sun tendrá 0 asignado, Mon tendrá 1 asignado, martes tendrá 2 asignados y así sucesivamente.

Tomemos otro ejemplo. Asignaríamos el valor 1 a Sun. Esto forzaría al compilador a comenzar la asignación desde 1 en lugar de 0. Luego, asignaríamos el valor 8 a Thu. El compilador continuaría la tarea desde 8 en adelante.

Ejemplo 1

using System;
public class Program
(
enum Day
(
Sun = 1,
Mon,
Tue,
Wed,
Thu = 8,
Fri,
Sat
);
public static void Main()
(
for (int i = 0; i < 10; i++)
(
Console.WriteLine((Day)i);
)
)
)

Salida:

Un ejemplo del mundo real puede ser la variada etapa del viaje de un cliente. Por supuesto, todas las constantes se pueden declarar por separado y asignarle valores enteros correspondientes, pero el uso de enum elimina la molestia de recordar los valores enteros para cada etapa y también hace que el código sea mucho más fácil de entender.

Ejemplo # 2

using System;
public class Program
(
enum ClientJourney
(
Introduced = 1,
UnderReview = 2,
Reviewed = 3,
Documentation = 4,
Onboarded = 5,
Declined = 6,
Deboarded = 7
);
public static void Main()
(
Console.WriteLine("The various stages in the journey of a client are:\n");
foreach (string str in Enum.GetNames(typeof(ClientJourney)))
(
Console.WriteLine(str);
)
)
)

Salida:

Métodos de enumeración en C #

Los siguientes son algunos métodos de Enum en C #:

1. GetName (Tipo, Int32)

El método GetName devuelve la constante nombrada asignada al valor especificado en la enumeración. Si no hay una constante con nombre en ese valor, devuelve una cadena en blanco.

Este método espera dos parámetros: uno es el tipo, es decir, la enumeración en sí, y el otro es el valor especificado.

Código:

En el mismo ejemplo de los días anteriores, imprimiríamos las constantes nombradas a través del método GetName.

using System;
public class Program
(
enum Day
(
Sun = 1,
Mon,
Tue,
Wed,
Thu = 8,
Fri,
Sat
)
;
public static void Main()
(
for (int i = 0; i < 10; i++)
(
Console.WriteLine(Enum.GetName(typeof(Day), i));
)
)
)

Salida:

2. GetNames (tipo)

Observe en el ejemplo anterior, cómo tuvimos que usar el bucle for para obtener todas las constantes nombradas de la enumeración. El método GetName es más útil cuando necesitamos una sola o tal vez un número limitado de constantes con nombre.

Para obtener todas las constantes nombradas, tenemos otro método GetNames (). Toma la enumeración como parámetro de entrada.

Código:

En el mismo ejemplo de los días anteriores, imprimiríamos las constantes nombradas a través del método GetNames.

using System;
public class Program
(
enum Day
(
Sun = 1,
Mon,
Tue,
Wed,
Thu = 8,
Fri,
Sat
)
;
public static void Main()
(
foreach(string namedConstant in Enum.GetNames(typeof(Day)))(
Console.WriteLine(namedConstant);
)
)
)

Salida:

3. GetValues ​​(Tipo)

El método GetValues ​​() se usa para obtener los valores mapeados subyacentes a cada una de las constantes nombradas de la enumeración.

Código:

En el mismo ejemplo de los días anteriores, imprimiríamos las constantes nombradas a través del método GetNames.

using System;
public class Program
(
enum Day
(
Sun = 1,
Mon,
Tue,
Wed,
Thu = 8,
Fri,
Sat
)
;
public static void Main()
(
foreach (int i in Enum.GetValues(typeof(Day)))
(
Console.WriteLine(i);
)
)
)

Salida:

Reglas para Enum en C #

  • Enum es un tipo, no una variable / constante / método.
  • Las constantes con nombre enumeradas no se pueden duplicar. Deben ser únicos
  • El tipo subyacente de enum no puede ser char.
  • El tipo subyacente predeterminado de enum es un entero.
  • Por defecto, los valores asignados a las constantes nombradas enum comienzan desde 0, aumentando en 1 para cada constante nombrada sucesiva.

Ventajas de Enum en C #

Las enumeraciones son una práctica de codificación muy ventajosa. Se utilizan para definir el conjunto de constantes para la aplicación o el programa. Por lo tanto, el conjunto permanece constante y evita el caos en el programa, especialmente cuando se trata de una gran aplicación que involucra a múltiples desarrolladores.

Hay muchos escenarios en los que se pueden usar enumeraciones. Días de la semana, meses del año, relaciones de conversión para temperaturas, factores de conversión para zonas horarias o cualquier dato de tabla maestra para la aplicación. Esto hace que el código sea más legible y más fácil de entender.

Conclusión

Por lo tanto, hemos visto el uso de enum en C #. Hemos aprendido cómo funciona y cuál puede ser su uso práctico. Entendemos las reglas a cumplir cuando se usan enumeraciones. También hay métodos que nos ayudan a acceder y formatear la enumeración. Se recomienda usar enumeraciones en su código tanto como sea posible. Esto lo ayudará a observar buenas prácticas de codificación y aprender enumeraciones también.

Artículos recomendados

Esta es una guía de Enum en C #. Aquí discutimos el trabajo, los métodos, las reglas y las ventajas de Enum en C # con ejemplos e implementación de código. También puede consultar los siguientes artículos para obtener más información:

  1. Palindrome en C # con ejemplos
  2. ¿Cómo acceder a espacios de nombres en C #?
  3. Los 3 principales tipos de patrones en C #
  4. Función recursiva en C #
  5. Continuar el trabajo de la declaración en C # con ejemplos
  6. Factores en R | Cómo crear | Ventajas