获取逗号分隔的枚举整数列表

时间:2016-03-16 15:22:31

标签: c#

此:

string csvEnums = string.Join(",", Enum.GetNames(typeof(Bla)));

返回:

X1,Y1

给出这个枚举:

public enum Bla
{
    [Description("X")]
    X1 = 1,
    [Description("Y")]
    Y1 = 2
}

是否有类似的有效方法来获取逗号分隔列表:

1,2

2 个答案:

答案 0 :(得分:8)

尝试将GetValues()返回数组转换为int s:

string csvEnums = string.Join(",", Enum.GetValues(typeof(Bla)).Cast<int>());

GetValues()方法的问题是返回Array类型的对象,并且没有Join()重载可以正确处理它。

答案 1 :(得分:1)

试试这个:

string csvEnums = string.Join(",", Enum.GetValues(typeof(Bla)).Cast<Bla>().Select(x=>(int)x));