All = First | Second | Third | Last1 | Last2 | Last3
public static void Main(string[] args)
var value = TestNegativeValues.First | TestNegativeValues.Last1;
Console.WriteLine("(value & TestNegativeValues.First) == TestNegativeValues.First: {0}",
(value & TestNegativeValues.First) == TestNegativeValues.First);
Console.WriteLine("(value & TestNegativeValues.Last1) == TestNegativeValues.Last1): {0}",
(value & TestNegativeValues.Last1) == TestNegativeValues.Last1);
foreach (TestNegativeValues val in Enum.GetValues(typeof(TestNegativeValues)))
Console.WriteLine("Enum.GetName(typeof(TestNegativeValues), val): {0}",
Enum.GetName(typeof(TestNegativeValues), val));
Console.WriteLine("(TestNegativeValues.All & val) == val: {0}", (TestNegativeValues.All & val) == val);