Part 13 - Enumerations


Added by Cameron Kenneth Knight, last edited by Cameron Kenneth Knight on Sep 09, 2005

Labels

 
(None)

Part 13 - Enumerations

Definition: Enumeration

A set of name to integer value associations.

Declaring an Enumeration

Enumerations are handy to use as fields and properties in classes.

declaring an enum
enum Day:
    Sunday
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Sunday

class Action:
    [Property(Day)]
    _day as Day

Enumerations are also handy in preventing "magic numbers", which can cause unreadable code.

Definition: Magic Number

Any number outside of -1, 0, 1, or 2.

Enumerations technically assign an integer value to each value, but that should generally be abstracted from view.

declaring an enum
enum Test:
    Alpha
    Bravo
    Charlie

is the same as

declaring an enum
enum Test:
    Alpha = 0
    Bravo = 1
    Charlie = 2
Recommendation

Except in special cases, do not assign numbers.

Exercises

  1. Think of another good instance of using enums.

Go on to Part 14 - Exceptions