Olá pessoal, neste artigo veremos os principais conceitos e alguns exemplos com os Enumeradores. Acompanhem:
Podemos sem problemas utilizar os inteiros 0, 1, 2, 3, 4, 5 e 6 para representar cada um dos dias da semana em uma aplicação (0 para Domingo, 1 para Segunda, 2 para Terça e assim sucessivamente).
Mais isso não é uma boa prática de programação, já que não é perfeitamente claro que um determinado 0 no código representa Domingo, ou seja, essa solução não é intuitiva e robusta, apesar de não impedir o funcionamento do programa.
Para que seja evitado este tipo de confusão, a linguagem C# oferece a palavra-chave enum, cuja finalidade é criar um tipo de enumeração que possui valores limitados a um conjunto de nomes simbólicos.
Veja o exemplo abaixo:
enum diasDaSemana { Domingo, Segunda, Terca, Quarta, Quinta, Sexta, Sabado };
No código acima, estamos usando o enum para declarar o tipo de enumeração denominado diasDaSemana, o qual possui valores literais limitados aos nomes simbólicos dos dias da semana. Estes nomes devem estar (sempre) entre chaves e cada um deles deve ser separado por uma vírgula.
Uma numeração associa um valor inteiro a cada elemento. Isso ocorre internamente, sendo que, por padrão, o primeiro elemento tem a numeração iniciada em 0, aumentando de 1 em 1, assim ficando em 0, 1, 2 e assim sucessivamente.
Com o tipo de enumeração declarado, poderemos criar variáveis, parâmetros e campos de tipo com nome igual ao tipo de numeração (para facilitar a identificação e evitar confusões). Para o tipo de enumeração acima, diasDaSemana, podemos criar campos do tipo diasDaSemana, por exemplo.
O tipo primário de uma enumeração é sempre um inteiro (int). Para que possamos usar o valor de uma variável de enumeração, precisamos atribuir-lhe um valor, o qual deve ser válido.
Veja mais um exemplo:
diasDaSemana finalDeSemana = diasDaSemana.Sexta;
Console.WriteLine((int)finalDeSemana);
Aqui, usamos o Console.WriteLine para exibir uma variável de enumeração. Quando fazemos isso, o compilador cria código que escreve o nome do literal cujo valor combina com o que foi apresentado pela variável.
O exemplo acima não irá escrever o nome finalDeSemana, mais sim o valor 5.
Assim finalizo o artigo. Na próxima parte veremos mais alguns exemplos com enumeradores e criaremos um pequeno exemplo prático, não percam!
Um abraço, e até o próximo artigo.
Wellington Balbo de Camargo