Dites que j'ai les valeurs énumérées suivantes
enum Language
{
CSharp= 0,
Java = 1,
VB = 2
}
Je voudrais les convertir en liste de valeurs (i.e) { CSharp,Java,VB}.
Comment les convertir en une liste de valeurs?
Language[] result = (Language[])Enum.GetValues(typeof(Language))
vous obtiendrez vos valeurs, si vous voulez une liste des énumérations.
Si vous voulez une liste des noms, utilisez ceci:
string[] names = Enum.GetNames(typeof(Languages));
Si je comprends bien votre besoin, vous cherchez quelque chose comme ça
var enumList = Enum.GetValues(typeof(Language)).OfType<Language>().ToList();
Si vous souhaitez stocker vos éléments enum dans la liste en tant que Type de langue:
Enum.GetValues(typeof(Language)).Cast<Language>().ToList();
Si vous souhaitez les stocker sous forme de chaîne:
Enum.GetValues(typeof(Language)).Cast<Language>().Select(x => x.ToString()).ToList();
Vous pouvez utiliser ce code
static void Main(string[] args)
{
enum Days { Sat, Sun, Mon, Tue, Wed, Thu, Fri };
Array arr = Enum.GetValues(typeof(Days));
List<string> lstDays = new List<string>(arr.Length);
for (int i = 0; i < arr.Length; i++)
{
lstDays.Add(arr.GetValue(i).ToString());
}
}