Durchlaufen von Aufzählungswerten in C #

Das Durchlaufen einer Aufzählungsliste oder einer Aufzählung in C # ist eine wesentliche Fähigkeit. Dieses Technikrezept liefert ein detailliertes Beispiel und führt durch den Prozess des Schleifens.

Der Aufzählungsdatentyp (oder die Aufzählung) wird verwendet, um symbolische Konstanten eindeutige Werte zuzuweisen. Das enum Schlüsselwort wird in C # verwendet, um eine Aufzählung zu deklarieren.

Zunächst muss eine Aufzählung mit der folgenden Syntax deklariert werden:

Aufzählungskennung {Enumerator-Liste}

Mit dieser Syntax können wir unser Beispiel aufbauen.

Aufzählung WeekDays {So, Mo, Di, Mi, Do, Fr, Sa};

In obigem Beispiel wird der ersten symbolischen Konstante 'Sun' der Wert 0 zugewiesen. 'Mon' ist gleich 1. Dieses Muster wird fortgesetzt, bis 'Sat' dem Wert von 6 entspricht. Nun werden, ohne zu schleifen, alle Elemente der Listenliste und Ihre jeweiligen Werte könnten bis zu sieben Zeilen Code erfordern. Eine für jeden Tag der Woche.

int val1 = (int) WeekDays.Sun;
int val2 = (int) WeekDays.Mon;

int val7 = (int) WeekDays.Sat;

Offensichtlich ist dies eine umständliche Lösung, wenn die Enumerationsliste groß ist. Es ist viel einfacher, die Aufzählungsliste durchzugehen, um die symbolischen Konstanten und die zugehörigen Werte zu drucken.

Das Enum.Getnames und Enum.GetValues Methoden werden verwendet, um die symbolische Konstante und die zugehörigen Werte abzurufen. Die grundlegende Syntax dieser Methoden lautet wie folgt:

var values ​​= Enum.GetValues ​​(typeof (MyEnum));

Hier ist mein Arbeitsbeispiel, das diese Methoden in Aktion demonstriert.


Klassenprogramm
{
Aufzählung WeekDays {So, Mo, Di, Mi, Do, Fr, Sa};
statisch void main (string [] args)
{
string [] days = Enum.GetNames (typeof (WeekDays));
foreach (Schnur in Tagen)
{
Console.WriteLine (s);
}
Console.ReadLine ();
}
}
Ausgabe:
Sonne
Mo
Di
Heiraten
Do
Fr.
Sat


Klassenprogramm
{
Aufzählung WeekDays {So, Mo, Di, Mi, Do, Fr, Sa};
statisch void main (string [] args)
{
foreach (Wochentag in Enum.GetValues ​​(typeof (WeekDays)))
{
int x = (int) Tag;
Console.WriteLine ("{0} = {1}", Tag, x);
}
Console.ReadLine ();
}
}
Ausgabe:
Sonne = 0
Mo = 1
Di = 2
Mi = 3
Do = 4
Fr = 5
Sa = 6


Klassenprogramm
{
Aufzählung WeekDays {So, Mo, Di, Mi, Do, Fr, Sa};
statisch void main (string [] args)
{
foreach (Wochentag in Enum.GetValues ​​(typeof (WeekDays)))
{
int x = (int) Tag;
Console.Write ("{0} \ t", x);
}
Console.ReadLine ();
}
}
Ausgabe
0       1       2       3       4       5       6