关于C#:将枚举转换为列表的常规方法list


General method to convert enum to List<T>

本问题已经有最佳答案,请猛点这里访问。

这里有一个"奇怪"的问题:

是否可以创建一个方法,在其中可以将任何枚举转换为列表。这是我目前的想法草稿。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class EnumTypes
{
   public enum Enum1
   {
      Enum1_Choice1 = 1,
      Enum1_Choice2 = 2
   }

   public enum Enum2
   {
      Enum2_Choice1 = 1,
      Enum2_Choice2 = 2
   }

   public List<string> ExportEnumToList(<enum choice> enumName)
   {
      List<string> enumList = new List<string>();
      //TODO: Do something here which I don't know how to do it.
      return enumList;
   }
}

只是好奇是否有可能以及如何做到。


1
Enum.GetNames( typeof(EnumType) ).ToList()

msdn.microsoft.com http:/ / / / / system.enum.getnames.aspx恩-美国图书馆P></

或者,如果你想获得花式:P></

1
2
3
4
5
6
7
8
9
10
11
12
13
    public static List<string> GetEnumList<T>()
    {
        // validate that T is in fact an enum
        if (!typeof(T).IsEnum)
        {
            throw new InvalidOperationException();
        }

        return Enum.GetNames(typeof(T)).ToList();
    }

    // usage:
    var list = GetEnumList<EnumType>();


1
2
3
4
5
6
7
public List<string> ExportEnumToList(<enum choice> enumName)    {
List<string> enumList = new List<string>();
//TODO: Do something here which I don't know how to do it.
foreach (YourEnum item in Enum.GetValues(typeof(YourEnum ))){
    enumList.Add(item);
}
return enumList;

}P></