TOC

This article has been localized into German by the community.

Fortgeschrittene Themen:

Aufzählungen (enum)

Aufzählungen sind spezielle Mengen von benannten Werten, die alle auf eine Reihe von Zahlen abgebildet werden, normalerweise ganze Zahlen. Sie sind praktisch, wenn Sie zwischen einer Reihe von konstanten Werten wählen möchten, und weil jeder der Werte eine Zahl repräsentiert, können sie vielfältig verwendet werden. Wie Sie in unserem Beispiel sehen werden, werden Aufzählungen über Klassen innerhalb unseres Namensraums definiert. Das bedeutet, dass wir Aufzählungen von allen Klassen innerhalb des gleichen Namensraums verwenden können.

Hier ist ein Beispiel für eine einfache Aufzählung, um zu zeigen, worum es dabei geht.

public enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }

Alle angegebenen Werte entsprechen einer Zahl. Wenn wir sie nicht ausdrücklich festlegen, ist der erste Wert gleich 0, der nächste gleich 1 und so weiter. Der folgende Code wird dies zeigen und zeigen, wie wir einen der möglichen Werte aus der Aufzählung verwenden:

using System;

namespace ConsoleApplication1
{
    public enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }

    class Program
    {
        static void Main(string[] args)
        {
            Days day = Days.Monday;
            Console.WriteLine((int)day);
            Console.ReadLine();
        }
    }
}

Die Ausgabe ist gleich 0, da der Wert für Montag (Monday) direkt auf die Zahl 0 abgebildet wird. Natürlich können wir das ändern - ändern Sie die Zeile so um:

public enum Days { Monday = 1, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }

Wenn Sie unseren Code noch einmal ausführen, werden Sie sehen, dass der Montag nun gleich 1 statt 0 ist, während alle anderen Werte sowohl eine Zahl höher als auch ein Ergebnis sind. Sie können den anderen Werten auch andere Nummern zuweisen. Aufgrund der direkten Zuordnung zu einer Zahl können Sie mit Zahlen auch einen entsprechenden Wert aus der Aufzählung erhalten, so wie hier:

Days day = (Days)5;
Console.WriteLine(day);
Console.ReadLine();

Ein weiteres cooles Merkmal von Aufzählungen: Sie können auch eine Zeichenkettendarstellung der Werte erhalten. Ändern Sie das obige Beispiel so ab:

static void Main(string[] args)
{
    string[] values = Enum.GetNames(typeof(Days));
    foreach(string s in values)
        Console.WriteLine(s);
    
    Console.ReadLine();
}

Die Enum-Klasse enthält eine Reihe nützlicher Methoden für die Arbeit mit Enumerationen.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!