Egy felsorolt típust az enum kulcsszó után adhatunk meg. Először a nevét kell megadnunk, majd { } jelek között fel kell sorolnunk, hogy milyen elemei lesznek az új típusnak. Ha nem használunk értékadást az elemek megnevezése után, akkor azok értéke nullától kezdve egyesével fog nőni. Amennyiben valamely elem kap értéket, de az utána következő nem, akkor e második elem értéke az előzőhöz képest eggyel nagyobb lesz.
enum Game
{
Quake = -1,
Unreal,
Descent = 100,
FreeSpace
}
A ToString függvény hívása pontosan ezt az értéket szolgáltatja sztringként, így kiírhatjuk ellenőrzésképpen, hogy a létrehozott elemek milyen értéket kaptak.
protected void button1_Click (object sender, System.EventArgs e)
{
Game g = new Game();
g = Game.Quake;
listBox1.Items.Add(g.ToString());
listBox1.Items.Add(Game.Unreal.ToString());
listBox1.Items.Add(Game.Descent.ToString());
listBox1.Items.Add(Game.FreeSpace.ToString());
}
Ha egy felsorolt típus esetén nem rendelkezünk, hogy az milyen típuson tárolja az értékeket, akkor az alapértelmezés szerint int típus lesz. Fenti deklaráció tehát egyenértékű az alábbival:
enum Game: int
{
Quake = -1,
Unreal,
Descent = 100,
FreeSpace
}
Felsorolt típus csak a következő típusokat veheti fel: byte, sbyte, short, ushort, int, uint, long, ulong.