Eu tenho uma enumeração de bandeira abaixo.
[Flags]
public enum FlagTest
{
None = 0x0,
Flag1 = 0x1,
Flag2 = 0x2,
Flag3 = 0x4
}
Não posso fazer com que a declaração if seja verdadeira.
FlagTest testItem = FlagTest.Flag1 | FlagTest.Flag2;
if (testItem == FlagTest.Flag1)
{
// Do something,
// however This is never true.
}
Como posso fazer isso verdade?
Nonesinalizador com um valor zero. Consulte msdn.microsoft.com/pt-br/library/vstudio/…
&operador de comparação, |é como uma adição: 1|2=3, 5|2=7, 3&2=2, 7&2=2, 8&2=0. 0avalia para false, tudo o mais para true.