Enumerations can provide a powerful alternative to constants. An enumeration is a distinct value type, consisting of a set of named constants (called the enumerator list).
Enumerations let you establish a relation between constants, i.e. instead of doing this:
const int LightJacketWeather = 60; const int SwimmingWeather = 72; const int WickedCold = 0;You can do this:
enum Temperatures { WickedCold = 0, FreezingPoint = 32, LightJacketWeather = 60, SwimmingWeather = 72, BoilingPoint = 212, }Access the constants with:
Temperatures.BoilingPoint
Technical definition of an enumeration:
[attributes] [modifiers] enum identifier
[:base-type] {enumerator-list};
Example 1:
enum Temperatures { WickedCold = 0, FreezingPoint = 32, LightJacketWeather = 60, SwimmingWeather = 72, BoilingPoint = 212, }
Example 2:
enum ServingSizes :uint { Small = 1, Regular = 2, Large = 3 }
Note: if not specified, enums default base type is int, but you are free to use any of the integral types (like the uint used in this example) except for char.
Example 3:
public class EnumTest { enum Days { Sat, Sun, Mon, Tue, Wed, Thu, Fri }; public static void Main() { Console.WriteLine("Sat = {0}", Days.Sat); //OUT: Sat = Sat Console.WriteLine("Fri = {0}", Days.Fri); //OUT: Fri = Fri Console.WriteLine("Sat = {0}", (int)Days.Sat); //OUT: Sat = 0 Console.WriteLine("Fri = {0}", (int)Days.Fri); //OUT: Fri = 6 } }
Note: Explicit cast needed to access the values. If no value is defined the default starting value is 0.
Example 4:
public class EnumTest { enum Days { Sat=1, Sun, Mon, Tue, Wed=20, Thu, Fri }; public static void Main() { Console.WriteLine("Sat = {0}", (int)Days.Sat); //OUT: Sat = 1 Console.WriteLine("Tue = {0}", (int)Days.Tue); //OUT: Tue = 4 Console.WriteLine("Thu = {0}", (int)Days.Thu); //OUT: Thu = 21 Console.WriteLine("Fri = {0}", (int)Days.Fri); //OUT: Fri = 22 } }
Note: if no value is specified the default value will be the previous value+1;
No comments:
Post a Comment