Thursday, 26 May 2016

.net - How to loop through all enum values in C#?






This question already has an answer here:
How do I enumerate an enum in C#? 26 answers






public enum Foos
{
A,
B,
C

}


Is there a way to loop through the possible values of Foos?



Basically?



foreach(Foo in Foos)

Answer




Yes you can use the ‍GetValue‍‍‍s method:



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


Or the typed version:



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



I long ago added a helper function to my private library for just such an occasion:



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


Usage:




var values = EnumUtil.GetValues();

No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...