Tôi có một lá cờ enum dưới đây.
[Flags]
public enum FlagTest
{
None = 0x0,
Flag1 = 0x1,
Flag2 = 0x2,
Flag3 = 0x4
}
Tôi không thể làm cho câu lệnh if đánh giá thành đúng.
FlagTest testItem = FlagTest.Flag1 | FlagTest.Flag2;
if (testItem == FlagTest.Flag1)
{
// Do something,
// however This is never true.
}
Làm thế nào tôi có thể làm điều này đúng?
None
cờ có giá trị bằng 0. Xem msdn.microsoft.com/en-us/l
&
điều hành để so sánh, |
giống như một sự bổ sung: 1|2=3
, 5|2=7
, 3&2=2
, 7&2=2
, 8&2=0
. 0
đánh giá false
, mọi thứ khác để true
.