Using bitwise enums:
[Flags]
enum Color : long {
Black=0,
Red=1,
Green=2,
Blue=4,
Orange = Red | Green,
White = Red |Green | Blue
}
Test 1.
for (int i = 0; i < 8; i++) {
Color myC = (Color)i;
Console.WriteLine(myC);
System.Diagnostics.Trace.WriteLine(myC); // write to "Output" window
}
Console.ReadKey();
gives result
Black
Red
Green
Blue
Red, Blue
Green, Blue
White
Test 2.
foreach (String c in Enum.GetNames(typeof(Color)))
{
Console.WriteLine("{0}={1}", c, Convert.ToInt64((Color)Enum.Parse(typeof(Color),c)));
}
Console.ReadKey();
gives result
Black=0
Red=1
Green=2
Orange=3
Blue=4
White=7
No comments:
Post a Comment