Skip to content

Instantly share code, notes, and snippets.

@ThiagoBarradas
Last active May 2, 2020 04:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ThiagoBarradas/4a0618b813f47d95adea88d9d8cdb4ae to your computer and use it in GitHub Desktop.
Save ThiagoBarradas/4a0618b813f47d95adea88d9d8cdb4ae to your computer and use it in GitHub Desktop.
var cores = Cor.Verde | Cor.Vermelho;
var resultado1 = cores.HasFlag(Cor.Verde); // true
var resultado2 = cores.HasFlag(Cor.Vermelho); // true
var resultado3 = cores.HasFlag(Cor.Amarelo); // false
var resultado4 = cores.HasFlag(Cor.Verde | Cor.Vermelho); // true, pois contém os dois
var resultado5 = cores.HasFlag(Cor.Verde) && cores.HasFlag(Cor.Vermelho); // true, mesma coisa que a expressão acima
var resultado6 = cores.HasFlag(Cor.Verde | Cor.Amarelo); // false, pois um elemento não está no conjunto
var resultado7 = cores.HasFlag(Cor.Verde) || cores.HasFlag(Cor.Amarelo); // true, por que contém pelo menos um
// Para .NET 4 (também funcionará para as versões mais atualizadas, porém a "escrita" é "pior"
var resultado8 = (cores & Cor.Verde) == Cor.Verde); // true, pois a cor Verde está em cores
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment