BESTE WEBSITE FÜR WEBENTWICKLER
C# Sprache. W3Schools auf Deutsch. Unterricht für Anfänger

Ua En Es

C# Enum


C# Aufzählungen

Ein enum ist eine spezielle „Klasse“, die eine Gruppe von Konstanten (unveränderbare/schreibgeschützte Variablen) darstellt.

Um eine enum zu erstellen, verwenden Sie das Schlüsselwort enum (anstelle von class oder interface) und trennen Sie die Enum-Elemente mit Komma:

Beispiel

enum Level
{
  Low,
  Medium,
  High
}

Sie können mit der Punkt-Syntax auf enum-Elemente zugreifen:

Level myVar = Level.Medium;
Console.WriteLine(myVar);
Try it Yourself »

Enum ist die Abkürzung für „enumerations“, was „spezifisch aufgelistet“ bedeutet.


Enum innerhalb einer Klasse

Sie können auch eine enum innerhalb einer Klasse haben:

Beispiel

class Program
{
  enum Level
  {
    Low,
    Medium,
    High
  }
  static void Main(string[] args)
  {
    Level myVar = Level.Medium;
    Console.WriteLine(myVar);
  }
}

Die Ausgabe wird sein:

Medium
Try it Yourself »

Aufzählungswerte

Standardmäßig hat das erste Element einer Aufzählung den Wert 0. Das zweite hat den Wert 1 und so weiter.

Um den ganzzahligen Wert von einem Element zu erhalten, müssen Sie das Element explizit in einen konvertieren int:

Beispiel

enum Months
{
  January,    // 0
  February,   // 1
  March,      // 2
  April,      // 3
  May,        // 4
  June,       // 5
  July        // 6
}

static void Main(string[] args)
{
  int myNum = (int) Months.April;
  Console.WriteLine(myNum);
}

Die Ausgabe wird sein:

3
Try it Yourself »

Sie können auch Ihre eigenen Enum-Werte zuweisen und die Nummern der nächsten Elemente werden entsprechend aktualisiert:

Beispiel

enum Months
{
  January,    // 0
  February,   // 1
  March=6,    // 6
  April,      // 7
  May,        // 8
  June,       // 9
  July        // 10
}

static void Main(string[] args)
{
  int myNum = (int) Months.April;
  Console.WriteLine(myNum);
}

Die Ausgabe wird sein:

7
Try it Yourself »

Enum in einer Switch-Anweisung

Aufzählungen werden häufig in switch-Anweisungen verwendet, um nach entsprechenden Werten zu suchen:

Beispiel

enum Level
{
  Low,
  Medium,
  High
}

static void Main(string[] args)
{
  Level myVar = Level.Medium;
  switch(myVar)
  {
    case Level.Low:
      Console.WriteLine("Low level");
      break;
    case Level.Medium:
       Console.WriteLine("Medium level");
      break;
    case Level.High:
      Console.WriteLine("High level");
      break;
  }
}

Die Ausgabe wird sein:

Medium level
Try it Yourself »

Warum und wann sollten Aufzählungen verwendet werden?

Verwenden Sie Aufzählungen, wenn Sie Werte haben, von denen Sie wissen, dass sie sich nicht ändern, z. B. Monatstage, Tage, Farben, Kartenstapel usw.