Enum durchlaufen

Manchmal ist es erforderlich in CSharp (C#) die Werte vom Typ enum zu durchlaufen.

Das Durchlaufen von Enumerationen kann in zwei Varianten erfolgend, die sich aber sehr gleichen. Einmal als Enum-Typ und einmal als Integer-Typ. Wir verwenden an dieser Stelle die foreach-Schleife mit folgendem Enum als Beispiel:

Beispiel Enumeration

public enum TimeUnit  
{  
    Seconds,  
    Minutes,  
    Hours,
    Weeks,
    Months,
    Years       
}

Variante 1: Enum-Typ

In dieser Variante werden die Enum-Werte durchlaufen und es wird beispielhaft der Wert als String in der Console zurückgegeben.

foreach - Schleife, um Enum zu durchlaufen

foreach(TimeUnit e in Enum.GetValues(typeof(TimeUnit)))  
{  
 Console.WriteLine(e.ToString());   
}

Variante 2: Integer-Typ

In dieser Variante werden die Enum-Werte als Integer durchlaufen und es wird beispielhaft der Wert als Integer in der Console zurückgegeben.
Diese Variante kann sinnvoll sein, wenn man direkt mit dem Integer-Wert weiterarbeiten will.

foreach - Schleife, um Enumeration zu durchlaufen

foreach( int i in Enum.GetValues(typeof(TimeUnit)) )
{
    Console.WriteLine(i);
}

Hinweis

GetValues() liefert immer die numerischen Werte aus der Enumaration.

Enum.GetNames() gibt die String-Wert der Enumarion zurück.

Werbung



comments powered by Disqus

Copyright Dunkel & Iwer GbR | Datenschutzerklärung | Impressum