C# string to enum (string 값 enum으로 변환하기) System.Enum.Parse

 

Enum.Parse

csv 데이터 등으로 기획 데이터를 사용할때

string 값을 사용하여 enum값으로 변환해야하는 경우가 종종 생긴다.

 

아래의 코드로 string 값을 특정 enum으로 변환이 가능함.

(MyEnum)System.Enum.Parse(typeof(MyEnum), mystring)
MSDN : Enum.Parse 메서드
https://docs.microsoft.com/ko-kr/dotnet/api/system.enum.parse?view=net-5.0

 

구현으로 가보면 영문자의 대소문자를 무시하는 것도 가능하다!

난 이 구현을 모르고 확장 메서드로 매번 첫번째 글자만 UpperCase로 변환한 다음에 넘겨줬었다..

public static object Parse(Type enumType, string value);
public static object Parse(Type enumType, string value, bool ignoreCase);

 

EnumTryParse

변환 실패처리를 위한 TryParse버전도 마련되어있다.

변환 성공여부를 bool로 리턴하니 if문과 같이 사용하면 된다.

MSDN : Enum.TryParse 메서드
https://docs.microsoft.com/ko-kr/dotnet/api/system.enum.tryparse?view=net-5.0

 

 

댓글

Designed by JB FACTORY