Comment parcourir toutes les valeurs d'un enum en C# ?

Comment parcourir toutes les valeurs d’un enum en C# ?


Source : Stack Overflow [.net]

Oui, vous pouvez utiliser la méthode GetValues :

var values = Enum.GetValues(typeof(Foos));

Ou la version typée :

var values = Enum.GetValues(typeof(Foos)).Cast<Foos>();

J’ai ajouté il y a longtemps une fonction utilitaire à ma bibliothèque personnelle pour exactement ce genre d’occasion :

public static class EnumUtil {
    public static IEnumerable<T> GetValues<T>() {
        return Enum.GetValues(typeof(T)).Cast<T>();
    }
}

Utilisation :

var values = EnumUtil.GetValues<Foos>();