Enum değerleri yazılım geliştiricilerin en sık kullandığı ve en faydalı yapılardan biridir. Bazı durumlarda enum yapısının içerdiği bütün değerleri dolaşmak gerekmektedir. Bu durumda kullanılan iki yöntem bulunmaktadır.
Enum.GetNames
Parametre olarak bir enum tipi alır. Sonuç olarak aldığı enum tipinin barındığı değerlerin adını içeren bir string dizisi döner.
Aşağıdaki örnek kodda hafta günlerini barındıran DayOfWeek enum yapısı foreach dönülmektedir.
string[] weekdays = Enum.GetNames(typeof(DayOfWeek));
foreach (string weekday in weekdays)
{
Console.WriteLine(weekday);
}
Enum.GetValues
Bu metot da GetNames metodu gibi bir enum tipi alır. Dönüş değeri olarak da içerisinde aldığı enum tipinin değerlerini barındıran bir dizi (Array) dönderir. Bu Array değerinin elemanları enum’un türüne dönüştürülerek kullanılabilir.
Aşağıdaki kodda örnek bir foreach bulunmaktadır.
Array weekdays = Enum.GetValues(typeof(DayOfWeek));
foreach (DayOfWeek weekday in weekdays)
{
Console.WriteLine(weekday);
}
Not: typeof metodu parametre olarak adığı tür adının Type türünden tipini dönderir.