2010-12-09 4 views
5

ASP.NET MVC 응용 프로그램에 다음과 같은 enum이 있습니다. 해당 열거 형을 매개 변수로 사용하고 싶습니다. 이렇게하려면 enum의 소문자 문자열 표현을 반환하고 싶습니다.C#에서 열거 형의 소문자 표현을 얻으려면 어떻게해야합니까?

public enum SortOrder 
{ 
     Newest = 0, 
     Rating = 1, 
     Relevance = 2 
} 

어떻게 C#에서 열거 형의 소문자 표현을 가져올 수 있습니까? enum이 자연스러운 제목 표기를 유지하기를 바랍니다.

답변

11

아니요, 연장 방법을 제외하고는 object에 있습니다.

public static string ToLower (this object obj) 
{ 
    return obj.ToString().ToLower(); 
} 
0

또한 Enum.GetNames(...)을 사용하여 열거 형 값이 들어있는 문자열 배열을 가져올 수 있습니다. 그런 다음이를 소문자로 변환하십시오. 문자열에서 해당 열거 형 값으로 변환하려면 메서드를 사용하여 세 번째 매개 변수에 true을 전달하면 비교 대/소문자를 구분하지 않습니다.

0

열거 형 텍스트를 표시하는 것이 System.ComponentModel 네임 스페이스를 인식하고 사용하는 경우 System.ComponentModel.DescriptionAttribute로 열거 형을 꾸밀 수 있으며 소문자 버전을 직접 입력 할 수 있습니다.

문자열 값을 직접 가져 오는 경우에도 리플렉션 코드를 작성하는 오버 헤드가 처리하려는 것보다 많을 수 있지만 여전히이 작업을 수행 할 수 있습니다.

HTH, 브라이언

관련 문제