O tipo enum é composto de um ou mais constantes que são declaradas como seus membros. Um
enumerador em C# pode ser criado dentro de classes ou arquivos .cs.
O uso de enumeradores com o comando switch para ser visto em
C#: Comando de Escolha.
O termo modificador de acesso utilizado nas sintaxes abaixo podem ser vistos em
C# POO: Atributos e Encapsulamento
Abaixo, a sintaxes A e B mostram a definição de um enumerador e seu uso na declaração
de uma variável respectivamente.
Sintaxe A
modificador_acesso enum nome_enumerador
{
MEMBRO1,
MEMBRO2,
MEMBRON
};
Sintaxe B
nome_enumerador nome_variavel; //valor padrão MEMBRO1
nome_enumerador nome_variavel = nome_enumerador.membro_enumerador;
Os membros do enum, quando não iniciados, tem seus membros iniciados com valores que vão
de 0 a N, de acordo com o número de membros.
Sintaxe C
modificador_acesso enum nome_enumerador
{
MEMBRO1, //0
MEMBRO2, //1
MEMBRON //2
};
Quando um membro é iniciado, os membros seguintes, sem valor, são associados aos valores
incrementados:
Sintaxe D
modificador_acesso enum nome_enumerador
{
MEMBRO1 = 1,
MEMBRO2,//2
MEMBRO3 //3
};
O valores associados a membros do enum podem ser compostos de expressões, valores hexadecimais
e binários, ou até mesmo composto de outros membros:
Sintaxe E
modificador_acesso enum nome_enumerador
{
MEMBRO1 = expressao,
MEMBRO2 = 0bvalor_binario, //2
MEMBRON = MEMBRO1|MEMBRO2
};
Exemplo 1
public enum Enum1
{
Zero, //0
Um, //1
Dois, //2
Tres //3
}
public enum Enum2
{
OPCAOA = 0,
OPCAOB, //1
OPCAOC= 4,
OPCAOD//5
}
public enum Enum3
{
Item1 = 0x00, //hexa
Item2 =0b1000, //bin
Item3 = 2*2, //expressão
Item4 = Enum1.Zero|Enum1.Um, //ou bit-a-bit
Item5 = 100
}
Saída
-