2014-03-31 20 views
0

我有一个enum其中有几个别名:让所有别名值与Enum.GetValues

enum { 
    A = 0, 
    B = 1, 
    OtherB = 1, 
    ... 
} 

我试图遍历使用Enum.GetValues枚举的所有值。但是,我需要枚举值的字符串表示形式,而不是整数值。只是遍历Enum.GetValues,我得到一个序列A, B, B, ...(或对于一些枚举A, OtherB, OtherB, ...,但无论我只获得每个值之一)。

是否有可能获得一个枚举的所有“字符串值”,或者它们在编译过程中被删除?

+1

可能重复http://stackoverflow.com/questions/105372/how-do-i-enumerate-an -enum-in-c) –

+2

@UfukHacıoğulları它不是那个问题的重复。请仔细阅读问题。 –

+4

如果你需要枚举字符串表示,你应该尝试使用Enum.GetNames()。从名称上,你总是可以得到值(如果需要)解析。 –

回答

1
  foreach(var str in Enum.GetNames(typeof(myEnum))) 
      { 
       // use str 
       Console.WriteLine(str); 
      } 
的[如何枚举在C#中的枚举?](