Enum em c # - Trabalhando e os 3 principais métodos enum em C # com vantagens

Índice:

Anonim

Introdução ao Enum em C #

Enum é uma palavra-chave reservada em C #, que representa uma enumeração. Uma enumeração é um tipo definido pelo usuário em C # que contém um conjunto de constantes nomeadas. Cada constante no conjunto tem um valor (por padrão, números inteiros). As constantes podem ser acessadas através de nomes e valores. Assim, os nomes não podem ser duplicados em uma enumeração.

A sintaxe de um enum é direta. Começa com a palavra-chave enum, seguida por um nome de variável, seguido por um conjunto de constantes nomeadas entre colchetes. Obviamente, termina com um ponto-e-vírgula.

Sintaxe:

enum ();

Exemplo:

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

Trabalho de Enum em C #

Vamos tentar entender como o enum funciona em C #. Enums têm um tipo subjacente em C #. Isso significa que cada constante na enum terá um valor do tipo subjacente atribuído a ela. O tipo subjacente padrão de enumeração em C # é um número inteiro.

No dia enum acima, temos sete constantes declaradas. Tem um tipo subjacente padrão de número inteiro. Assim, toda constante terá um valor inteiro atribuído a ela. Por padrão, o valor começa em 0. Assim, a Sun terá 0 atribuído a ele, Mon terá 1 atribuído a ele, Ter terá 2 atribuídos a ele e assim por diante.

Vamos dar outro exemplo. Atribuiríamos o valor 1 ao sol. Isso forçaria o compilador a iniciar a atribuição de 1 em vez de 0. Em seguida, atribuiríamos o valor 8 a Qui. O compilador continuaria a tarefa a partir de 8 em diante.

Exemplo 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);
)
)
)

Resultado:

Um exemplo do mundo real pode ser os vários estágios da jornada de um cliente. Obviamente, todas as constantes podem ser declaradas separadamente e atribuídas valores inteiros correspondentes, mas o uso de enum elimina o incômodo de lembrar os valores inteiros de cada estágio e também facilita a compreensão do código.

Exemplo 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);
)
)
)

Resultado:

Métodos de enumeração em c #

A seguir estão alguns métodos de Enum em C #:

1. GetName (Tipo, Int32)

O método GetName retorna a constante nomeada mapeada para o valor especificado na enumeração. Se não houver constante nomeada nesse valor, ele retornará uma sequência em branco.

Este método espera dois parâmetros - um é o tipo, ou seja, o próprio enum, e o outro é o valor especificado.

Código:

No mesmo exemplo de dias acima, imprimiríamos as constantes nomeadas por meio do 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));
)
)
)

Resultado:

2. GetNames (Tipo)

Observe no exemplo acima, como tivemos que usar o loop for para obter todas as constantes nomeadas do enum. O método GetName é mais útil quando precisamos de um número único ou talvez limitado de constantes nomeadas.

Para obter todas as constantes nomeadas, temos outro método GetNames (). Leva o enum como o parâmetro de entrada.

Código:

No mesmo exemplo de Dias acima, imprimiríamos as constantes nomeadas através do 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);
)
)
)

Resultado:

3. GetValues ​​(Tipo)

O método GetValues ​​() é usado para obter os valores mapeados subjacentes para cada uma das constantes nomeadas da enumeração.

Código:

No mesmo exemplo de Dias acima, imprimiríamos as constantes nomeadas através do 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);
)
)
)

Resultado:

Regras para enum em c #

  • Enum é um tipo, não uma variável / constante / método.
  • As constantes enumeradas enum não podem ser duplicadas. Eles devem ser únicos
  • O tipo subjacente de enum não pode ser char.
  • O tipo subjacente padrão de enum é um número inteiro.
  • Por padrão, os valores atribuídos à enum denominadas constantes começam em 0, aumentando em 1 para cada constante nomeada sucessiva.

Vantagens do Enum em C #

As enums são uma prática de codificação muito vantajosa. Eles são usados ​​para definir o conjunto de constantes para o aplicativo ou o programa. Assim, o conjunto permanece constante e evita o caos no programa, especialmente quando se trata de um aplicativo enorme que envolve vários desenvolvedores.

Existem muitos cenários em que as enums podem ser usadas. Dias da semana, meses do ano, taxas de conversão para temperaturas, fatores de conversão para fusos horários ou quaisquer dados da tabela mestre para o aplicativo. Isso torna o código mais legível e fácil de entender.

Conclusão

Assim, vimos o uso de enum em C #. Aprendemos como funciona e qual pode ser seu uso prático. Entendemos as regras a serem seguidas ao usar enumerações. Existem também métodos que nos ajudam a acessar e formatar a enumeração. É recomendável usar enumerações no seu código, tanto quanto possível. Isso ajudará você a observar boas práticas de codificação e aprender enums também.

Artigos recomendados

Este é um guia para o Enum em C #. Aqui discutimos o trabalho, métodos, regras e vantagens do Enum em C # com exemplos e implementação de código. Você também pode consultar os seguintes artigos para saber mais -

  1. Palíndromo em C # com exemplos
  2. Como acessar namespaces em c #?
  3. Os três principais tipos de padrões em C #
  4. Função Recursiva em C #
  5. Continue o trabalho da instrução em C # com exemplos
  6. Fatores em R | Como criar | Vantagens