ECMA-334 C# Language Specification8.11: Enums (informative) |
An enum type declaration defines a type name for a related group of symbolic constants. Enums are used for "multiple choice" scenarios, in which a runtime decision is made from a fixed number of choices that are known at compile-time.
The example
enum Color { Red, Blue, Green } class Shape { public void Fill(Color color) { switch(color) { case Color.Red: ... break; case Color.Blue: ... break; case Color.Green: ... break; default: break; } } } |
The use of enums is superior to the use of integer constants-as is common in languages without enums-because the use of enums makes the code more readable and self-documenting. The self-documenting nature of the code also makes it possible for the development tool to assist with code writing and other "designer" activities. For example, the use of Color rather than int for a parameter type enables smart code editors to suggest Color values.