C# · Essencial · Inglês · Técnico
enum
Tipo de valor que define um conjunto nomeado de constantes inteiras. Dá nomes legíveis a estados e opções, em vez de números soltos pelo código.
Onde usar
Aparece em modelos de domínio, como o status de um pedido, e em switch expressions. Um enum aceita qualquer valor do tipo base via cast, então validar com Enum.IsDefined ou tratar o caso padrão importa.
Em código
Status s = Status.Pago;
Console.WriteLine((int)s); // 1
var x = (Status)99; // compila
Console.WriteLine(Enum.IsDefined(x)); // False
enum Status { Novo, Pago, Enviado }Exemplos
Make the order status an enum.
Transforme o status do pedido em um enum.
Validate the enum, because a cast accepts any number.
Valide o enum, porque o cast aceita qualquer número.
Cuidado
Não presuma que um enum só contém os nomes declarados: (Status)99 compila e roda sem erro.
Sinônimos
enumeração
Origem
Abreviação de enumeration, 'enumeração'.