Hoje respondi uma pergunta e achei interessante colocar aqui.
Para que serve enums binários?
Exemplo:
[Flags]
public enum EnumGrimoire
{
MorganaLefey = 0,
Merlin = 1,
Teserac = 1 << 1,
Nostradamus = 1 << 2,
Merovingio = 1 << 3,
AzraMahai = 1 << 4,
Taliesin = 1 << 5
}
Veja bem. O que tem acima pode ser traduzido como:
MorganaLefey = 0,
Merlin = 1,
Teserac = 2,
Nostradamus = 4,
Merovingio = 8,
AzraMahai = 32,
Taliesin = 64
É bem esquisito né? Pois é, mas é útil para fazer o seguinte tipo de construção abaixo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplicationParaTestarEnumsMisticos
{
class Program
{
static void Main(string[] args)
{
greatWizards(EnumGrimoire.MorganaLefey | EnumGrimoire.Merlin | EnumGrimoire.Nostradamus);
}
static void greatWizards(PropostaWorkflowAcoes penmWizardry)
{
if (penmWizardry == (EnumGrimoire.MorganaLefey | EnumGrimoire.Merlin))
{
Console.Write("Você escolheu dois arqui inimigos. Cuidado!");
}
Console.ReadLine();
}
}
[Flags]
public enum EnumGrimoire
{
MorganaLefey = 0,
Merlin = 1,
Teserac = 1 << 1,
Nostradamus = 1 << 2,
Merovingio = 1 << 3,
AzraMahai = 1 << 4,
Taliesin = 1 << 5
}
}
Nenhum comentário:
Postar um comentário