2013-06-15 3 views
21

는 (즉) { CSharp,Java,VB}.변환은

어떻게 값 목록으로 변환 내가 값 목록으로 변환하고 싶은 난 다음 열거가

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

    } 

값 말해봐? 내가 제대로 귀하의 요구 사항을 이해한다면

+3

[Enum.GetValues] (http://msdn.microsoft.com/library/system.enum.getvalues.aspx)를보십시오. – Corak

답변

31
Language[] result = (Language[])Enum.GetValues(typeof(Language)) 

는 당신에게 당신의 가치를 얻을 것이다이 코드를 사용할 수있는이

var enumList = Enum.GetValues(typeof(Language)).OfType<Language>().ToList(); 
10

, 당신은 당신이 원하는 경우에 당신은,

static void Main(string[] args) 
    { 
    enum Days { Sat, Sun, Mon, Tue, Wed, Thu, Fri }; 

    Array arr = Enum.GetValues(typeof(Days)); 
    List<string> lstDays = new List<string>(arr.Length); 
    for (int i = 0; i < arr.Length; i++) 
    { 
     lstDays.Add(arr.GetValue(i).ToString()); 
    } 
    } 
+0

'OfType () .ToList()'를'Languages ​​[]'로 바로 변환 할 수있는 이유는 무엇입니까? –

+0

@newStackExchangeInstance 네가 맞다 –

0

처럼 뭔가를 찾고있다 열거 형 목록.

string[] names = Enum.GetNames(typeof(Languages)); 
+3

그건 너무 복잡해. –

5

당신은 언어 유형으로 목록에서 열거 요소를 저장하려면 :

경우
Enum.GetValues(typeof(Language)).Cast<Language>().ToList(); 

당신이 원하는 당신이 이름의 목록을 원하는 경우

, 이것을 사용 문자열로 저장하십시오.

Enum.GetValues(typeof(Language)).Cast<Language>().Select(x => x.ToString()).ToList();