Enumerations in .NET

The enum keyword is used when you require a enumeration. A enumeration is a distinct type that consists of a set of named constants called the enumetor list. Every enumeration type has an underlying type which can be all integral times except that of a char type.Where:

Declaration syntax:

  • attributes (optional) – this is additional declarative information, look under index A for more information
  • modifiers (optional) – permissible modifiers include: new, public, protected, internal and private ( the 4 access modifiers)
  • base-type (optional) – underlying type for the storage allocated for each enumerator, any integral type except char (default is int)
  • enumerator-list – the enumerators identifiers which are seperated by commas (optionally including a value assignment)

Key Points:

The default underlying type of the elements in the enumeration is int as previously mentioned. The first enumerator begins at 0 by default and each enumerator following is increased by 1. Explicit casts are required to convert from enum type to an integral type.

enum Months {Jan, Feb, March, April,
May, June, July, August, Sept, Oct, Nov, Dec};

// same as above EXCEPT forced to start sequence
// from 1 instead of 0 (default)
enum Months2 {Jan = 1, Feb, March, April,
May, June, July, August, Sept, Oct, Nov, Dec};
public void Page_Load(object sender, EventArgs e)
    // notice the explicit cast required
    int x = (int) Months.Feb;
    int y = (int) Months.Oct;
Feb is month #” + x);
Oct is month #” + y);
    // sequence forced to start with 1 i.e Jan = 1 (in the declaration)
    x = (int) Months2.Feb;
    y = (int) Months2.Oct;
Feb is now month #” + x);
Oct is now month #” + y);


[attributes] [modifiers] enum identifier [:base-type] {enumerator-list};

Author: Imran Akram

A .NET/SharePoint Consultant and a political enthusiast who believes in putting the feet of the elected and/or unelected officials to fire in order to get good governance.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s