此:
string csvEnums = string.Join(",", Enum.GetNames(typeof(Bla)));
返回:
X1,Y1
给出这个枚举:
public enum Bla
{
[Description("X")]
X1 = 1,
[Description("Y")]
Y1 = 2
}
是否有类似的有效方法来获取逗号分隔列表:
1,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));