Mit Hilfe von System Reflection kann man Enumwerte auslesen und entsprechend weiter verarbeiten.
using System.Reflection;
private enum Fruits
{
Orange = 1,
Apple = 2,
Pear=3
}
static void Main()
{
Type dataType = Enum.GetUnderlyingType(typeof(Fruits));
foreach (FieldInfo field in typeof(Fruits).GetFields(
BindingFlags.Static | BindingFlags.GetField | BindingFlags.Public))
{
object value = field.GetValue(null);
Console.WriteLine("{0}={1}", field.Name, Convert.ChangeType(value, dataType));
} Console.ReadLine();
}
EDIT:
Oder eben einfach mit
Enum.GetValues(Fruits);
Enum.GetNames(Fruits);
(Danke Dani für den Kommentar!)