Wednesday, 9 May 2018

.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

casting - Why wasn't Tobey Maguire in The Amazing Spider-Man? - Movies & TV

In the Spider-Man franchise, Tobey Maguire is an outstanding performer as a Spider-Man and also reprised his role in the sequels Spider-Man...