O Enum é um conceito bastante útil para algumas áreas de programação. Na verdade trata-se da abreviação de Enumeração, que na prática nada mais é do que um grupo de constantes. A grande vantagem das Enums é que elas podem expressar números através de nomes. Vou colocar um exemplo que vai deixar bem claro sua utilidade. Vamos imaginar o cenário de um pequeno jogo de batalha-naval, que tenha, para cada objeto do jogo, uma determinada pontuação. Para dar início ao exemplo, criarei um novo projeto no Visual C# Express e dentro dele uma classe chamada "Pontos".

Agora, dentro dessa classe, criarei uma Enum chamada "PontosAcertos", que definirá a pontuação referente a cada objeto do jogo.

Notem que eu atribui alguns valores para cada objeto do jogo.
Agora imaginem que num outro momento do código você queira utilizar, exibindo na tela, o valor atribuído a um
Cruzador. Para muitos a solução já deve estar mentalmente pronta, que seria:
Pontos.PontosAcertos.Cruzadores
Essa resposta faz sentido, já que acessa primeiro a Classe, depois a Enum e em seguida o valor do item desejado.
No entanto, vamos tentar exibi-la no Console do C# com o seguinte comando:
Console.WriteLine(Pontos.PontosAcertos.Cruzadores);
Vejamos o que acontece na saída:

Não era bem isso que queríamos. O que aconteceu aqui foi o seguinte: todo item de um Enum é naturalmente uma String associada a um valor e, quando não deixamos explícito que queremos exibir ou utilizar o valor, o retorno será sempre a String em si. A solução para isso é muito simples e envolve o conceito de Cast, visto no tópico anterior, vejam:

Vejamos a saída agora:

Percebam que agora foi retornado o valor associado a esse item da Enum e não mais o seu nome. O interessante é que se ao longo desse jogo fosse necessário calcular a pontuação referente ao acerto de vários Cruzadores ao mesmo tempo, nós poderíamos fazer o seguinte código:

Vejam a saída desse comando com o multiplicador:

Os enumeradores permitem grande ganho de tempo no desenvolvimento de aplicações. Imagine que você decida, no final do
desenvolvimento, alterar o valor da pontuação dos Cruzadores, de 5 para 10 pontos. Se não tivesse feito um Enum, seria
necessário procurar em todos os locais do seu código que fizessem uso dessa pontuação e substituir o 5 pelo 10.
Utilizando o Enum basta trocar em um único local e o código já estará atualizado.
Bem, os mais atentos e que já passaram pelo minicurso de Lógica podem estar se perguntando qual seria a diferença
entre o Enum e as Constantes, afinal de contas eles parecem ter o mesmo resultado prático. Se você pensou dessa forma,
parabéns, pois até aqui realmente eles não apresentam nenhuma diferença no resultado e isso significa que você está
atento, no entanto o Enum é, de fato, uma Enumeração, uma
sequência. Se não especificarmos nenhum valor aos seus itens, isso será feito automaticamente, como se
fossem índices de um vetor. Vejam na prática o que acontece quando eu removo todos os valores associados aos
itens do Enum:

Para o código de exibição, fiz uma alteração para que sejam exibidos todos os itens da Enum, deixando-o da seguinte forma:

Agora vejamos essa saída:

Percebam agora que ele atribuiu valores a cada item, de acordo com a ordem em que eles aparecem
na Enum. E, assim como os índices de um vetor, o primeiro tem valor zero.
Agora ficou claro o que diferencia uma Enum de simples Constantes.
Para encerrar o assunto Enum, vale destacar que por padrão os valores associados são do tipo int, mas também é possível usar os tipos byte, short e long
através da seguinte sintaxe:

Vale destacar que uma Enum não aceita os tipos de dados Double, Float e Char.
Bem, é isso. Essa é a Enum. No próximo tópico falarei sobre as listas.
HARDWARE
Entendendo o seu computador
O que há dentro do meu computador?
Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.
Você Sabia?
Mouse
O mouse foi criado em 9 de dezembro de 1968, por um americano chamado Douglas Engelbart, que o batizou de "XY Position Indicator for a Display System". Conheça a história do mouse clicando aqui.
Final Fantasy
O famoso título Final Fantasy, da Square Enix, tem este nome exatamente porque se tratava da última esperança da empresa, que estava à beira da falência quando o lançou. Clique aqui e conheça detalhes dessa história.
Space Invaders
O título Space Invaders, lançado em 1980, fez tanto sucesso em todo o mundo que as pessoas compravam o console Atari apenas para poderem jogá-lo em casa. Saiba mais sobre este incrível título clicando aqui.
Mega Man
A primeira versão do clássico Mega Man, para Nintendo 8 bits, tem seu recorde de pontos estabelecido em 03/11/2006, por David Archey, que cravou 2.396.700 pontos, terminando o jogo.
Street Fighter 2
Street Fighter 2, lançado para o Super Nintendo no início dos anos 90, foi o principal responsável pelo aumento nas vendas deste console. Graças ao sucesso do título nos Arcades e à perfeita adaptação ao console, muitos consumidores adquiriram o SNES para jogarem o título em casa. Saiba mais.
River Raid
O épico jogo River Raid, do Atari, foi desenhado e boa parte de sua programação foi feita por uma mulher: Carol Shaw, uma excelente programadora e funcionária da Activision em 1982. Saiba mais sobre a história deste incrível jogo, aqui.
Civilization
A empresa Take-Two pagou à Infogrames mais de 22 milhões de dólares pelos direitos de Civilization, em novembro de 1994. Ainda sobre este título, Sid Meier, um dos seus fundadores, é o profissional da área dos games mais premiado em todo o mundo.
Asteroids
O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.
PC com barulho?
Excesso de barulho dentro do seu gabinete, principalmente logo que você o liga, pode ser sintoma de problemas nas ventoinhas, que podem precisar ser limpas ou trocadas. Entre em contato com um técnico de sua confiança e verifique isso o quanto antes.
Senhas
Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.