Aufzählen einer Aufzählung in C#

Payel Ganguly 12 Oktober 2023
  1. Enum.GetNames() Methode zur Aufzählung von enum
  2. Enum.GetValues() Methode zur Aufzählung von enum in C#
  3. Weitere Beispiele
  4. Anmerkungen:
Aufzählen einer Aufzählung in C#

Dieses Tutorial führt in die Aufzählung eines enum-Typs in C# ein und demonstriert dies anhand einer Liste von Code-Beispielen.

Im vorhergehenden Tutorial haben wir gelernt, wie man mit C# den Wert int aus enum abrufen kann. Wie im letzten Tutorial erwähnt, ist Enumeration oder enum ein benutzerdefinierter Wertetyp, der eine Menge benannter Konstanten des zugrundeliegenden Ganzzahl-Typs definiert.

Wir kennen die übliche Syntax für enum wie folgt:

enum<enum_name> { enumeration_list }
;

enum_name gibt den Namen des Aufzählungstyps an, und enum_list gibt eine Liste von durch Komma getrennten Bezeichnern an.

Als nächstes werden wir sehen, wie man alle enum-Werte in C# durchschleifen oder aufzählen kann. Es gibt mehrere Möglichkeiten, eine Aufzählung aufzuzählen. Die folgenden Beispiele sollen diese Möglichkeiten veranschaulichen.

Enum.GetNames() Methode zur Aufzählung von enum

Ziel ist es, mit der Methode Enum.GetName() ein Array von Namen der Konstanten in der Aufzählungsliste zu erhalten. Das Array der Namen wird mit Hilfe der foreach-Schleife ausgegeben.

using System;

public class Example1 {
  public enum Fruits { Apple, Banana, Orange, Watermelon, Mango, Strawberry }

  public static void Main() {
    foreach (string fruit in Enum.GetNames(typeof(Fruits))) {
      Console.WriteLine(fruit);
    }
  }
}

Ausgabe:

Apple
Banana
Orange
Watermelon
Mango
Strawberry

Enum.GetValues() Methode zur Aufzählung von enum in C#

Ein anderer Ansatz ist die Verwendung der Methode Enum.GetValues(), die ein Array mit den Werten der Konstanten in der Aufzählungsliste abruft. Sie gibt auch jeden Wert unter Verwendung der foreach-Schleife aus.

using System;

public class Example2 {
  public enum Subjects { Maths, Biology, English, Chemistry, Physics, History }

  public static void Main() {
    foreach (Subjects sub in Enum.GetValues(typeof(Subjects))) {
      Console.WriteLine(sub);
    }
  }
}

Ausgabe:

Maths
Biology
English
Chemistry
Physics
History

Lassen Sie uns einige weitere Beispiele besprechen, um ein vollständiges Bild der Verwendung der Enum.GetValues() Methode zu erhalten.

Weitere Beispiele

Beispiel 1:

using System;

public class Demo1 {
  enum Colors { White, Black, Red, Green, Blue }
  ;
  enum Planets { Earth = 0, Jupiter = 10, Saturn = 20, Mars = 30, Venus = 40 }
  ;

  public static void Main() {
    Console.WriteLine("The list of Colors Enum are:");
    foreach (int i in Enum.GetValues(typeof(Colors))) Console.WriteLine(i);

    Console.WriteLine();

    Console.WriteLine("The list of Planets Enum are:");
    foreach (int i in Enum.GetValues(typeof(Planets))) Console.WriteLine(i);
  }
}

Ausgabe:

The list of Colors Enum are:
0
1
2
3
4

The list of Planets Enum are:
0
10
20
30
40 

Im ersten Teil des obigen Beispiels werden die Array-Elemente nach den Binärwerten (d.h. den vorzeichenlosen Werten) der Aufzählungs-Konstanten sortiert.

Beispiel 2:

using System;

enum SignValue { NegativeVal = -1, ZeroVal = 0, PositiveVal = 1 }
;

public class MainValue {
  public static void Main() {
    foreach (var val in Enum.GetValues(typeof(SignValue))) {
      Console.WriteLine("{0,3} 0X{0:X8} {1}", (int)val, ((SignValue)val));
    }
  }
}

Ausgabe:

0 ZeroVal 0X00000000
1 PositiveVal 0X00000001
-1 NegativeVal 0XFFFFFFFF

Das obige Beispiel zeigt Informationen über das Array, das von der Methode Enum.GetValues() für die Aufzählungsliste zurückgegeben wird und null, negative und positive Werte enthält.

Anmerkungen:

Die Methode Enum.GetValues() gibt ein Array zurück, das einen Wert für jedes Element der enum enthält. Wenn mehrere Elemente den gleichen Wert haben, enthält das erzeugte Array doppelte Werte. In diesem Fall führt der Aufruf der Methode Enum.GetNames() mit jedem Wert im zurückgegebenen Array nicht zur Wiederherstellung der eindeutigen Namen, die den Elementen mit doppelten Werten zugewiesen wurden. Um die Namen aller Aufzählungselemente erfolgreich abzurufen, empfehlen wir den Aufruf der Methode Enum.GetNames().

Verwandter Artikel - Csharp Enum