Game Tech Blog

C# - Enum To String ( 열거형 내용을 문자열로 변환) 본문

IT Study/C#

C# - Enum To String ( 열거형 내용을 문자열로 변환)

jonghow 2022. 4. 5. 14:20
반응형

... 썼던거 날려먹었다.. 짧게 다시 써야지..

 

[ 찾아본 이유? ]

- 프로젝트 진행중에 Enum 에 대한 타입비교가 필요했는데, 주어진 데이터가 String , Enum 데이터 하나씩이어서 비교할 수 있는 방법을 찾아보다가 알게됌..

 

[ 결론 ] 

선언한 열거자에 .ToString() 함수가 있으니 그것을 쓰시라

 

[ 사용 방법 ]

사용 방법은 간단하다. 

 

public Enum EnumTest
{
   None, 
   TypeA,
   TypeB,
   TypeC,
   End
}


Public bool StringMatch(EnumTest tEnum, String StrMatch)
{
	if(tEnum == StrMatch)
    	return true;
        
   	return false;    
}

public void Main()
{
    String Str = "TypeA";
    EnumTest tEnum = EnumTest.TypeA;
    
    Console.Write(StringMatch(tEnum,Str));
}

이런식으로 하면 되는데, 아래와 같은 문제점이 있다. 

[image0.cs0019]

String 과 Enum 의 타입비교는 따로 연산자 오버로딩이 없는것이 당연하므로 같은 형태로 맞춰주어야한다. 

고로 위에 적어놓은 .ToString(); 함수를 사용하면 되는데

 

[image1.Use ToString method]

Public bool StringMatch(EnumTest tEnum, String StrMatch)
{
	if(tEnum.ToString() == StrMatch)
    	return true;
        
   	return false;    
}

StringMatch 함수를 이렇게 바꾸면 문제 없다.

 

[사용예시]

직접 바뀌는 String 을 확인하고 싶으면 뭐.. 그냥 바꾼대로 출력하면 된다. 

 

 

반응형

'IT Study > C#' 카테고리의 다른 글

C# - Partial 클래스  (0) 2022.09.27
C# - Boxing, UnBoxing  (0) 2022.04.08
C# - 프로퍼티  (0) 2022.01.11
C# - Invoke  (0) 2021.12.29
C# - Class, Struct  (0) 2021.11.11
Comments