Monday, October 12, 2009

ENUMs

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
Orange
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