将枚举转换为列表

Ami*_*mit 30 c# enums list type-conversion

假设我有以下枚举值

enum Language
    {
       CSharp= 0,
        Java = 1,
        VB = 2

    }
Run Code Online (Sandbox Code Playgroud)

我想将它们转换为值列表(即) { CSharp,Java,VB}.

如何将它们转换为值列表?

It'*_*ie. 43

Language[] result = (Language[])Enum.GetValues(typeof(Language))
Run Code Online (Sandbox Code Playgroud)

如果你想要一个枚举列表,它会给你你的价值.

如果需要名称列表,请使用:

string[] names = Enum.GetNames(typeof(Languages));
Run Code Online (Sandbox Code Playgroud)


小智 12

如果我正确理解您的要求,您正在寻找类似的东西

var enumList = Enum.GetValues(typeof(Language)).OfType<Language>().ToList();
Run Code Online (Sandbox Code Playgroud)


小智 7

如果要将列表中的枚举元素存储为语言类型:

Enum.GetValues(typeof(Language)).Cast<Language>().ToList();
Run Code Online (Sandbox Code Playgroud)

如果您想将它们存储为字符串:

Enum.GetValues(typeof(Language)).Cast<Language>().Select(x => x.ToString()).ToList();
Run Code Online (Sandbox Code Playgroud)