Utilizar Enum na implementação de software server para facilitar o desenvolvimento, sem falar que com a tipagem você impede erros de programação.
Vamos a um caso básico de Enum:
Campo estado civil: Normalmente esse campo está representado diretamente como uma coluna no banco de dados, com os tipos Char, tinyInt (Falando em SqlServer), porem na implementação do sistema, não sabemos qual é o range do campo, ficamos sempre na duvida: Solteiro, Casado, Divorciado e Viuvo ou 0-Solteiro, 1-Casado, 2-Divorciado e 3-Viuvo.
Particulamente prefiro o uso de inteiros, então quando tenho que fazer campos com valores enumerados no banco sempre uso inteiros, seja para criar campos de status, estado civil etc.
Vamos a primeira implementação:
public enum EstadoCivil { Solteiro = 0, Casado = 1, Divorciado = 2, Viuvo = 3 }A primeira funcionalidade que fica desconhecida da maioria é o valor para cada item do Enum, quando colocamos o valor para os itens da coleção podemos recuperar fazendo uma cast simples:
Console.WriteLine("{0} - {1}", EstadoCivil.Casado.ToString(),
(int)EstadoCivil.Casado);
ou
Console.WriteLine("{0} - {1}", EstadoCivil.Casado.ToString(),
EstadoCivil.Casado.ToString("D"));