Language - C#/C#(문법)
C# - Enum.Parse, Enum.TryParse
KimTory
2021. 11. 8. 10:49
Microsoft Docs 참조
https://docs.microsoft.com/ko-kr/dotnet/api/system.enum.parse?view=net-5.0
Enum.Parse 메서드 (System)
하나 이상의 열거된 상수의 이름이나 숫자 값의 문자열 표현을 해당하는 열거형 개체로 변환합니다.Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumer
docs.microsoft.com
▶ 문자열을 열거형 타입으로 반환 필요 시, Enum.Parse - Enum.TryParse 사용
-. 하나 이상의 열거된 상수의 이름 또는 숫자 값의 문자열 표현을 해당하는 열거형 개체로 변환
▶ Language : C#
▶ IDE : Visual Studio 2017
enum Numbers
{
None,
One = 1,
Two = 2,
Three = 3
}
static void Main(string[] args)
{
string StrNumber = "Three"; // 열거형 타입 반환에 필요한 String 변수 생성 및 초기화
EnumParse(StrNumber); // Parse 함수 사용
EnumTryParse(StrNumber); // TryParse 함수 사용
}
public static void EnumParse(string str)
{
try
{
Numbers Number = (Numbers)Enum.Parse(typeof(Numbers), str);
if (Number == Numbers.Three) Console.WriteLine($"Numbers = {Number}");
// Console
// Numbers = Three
}
catch (Exception ex)
{
// Number Enum 선언 되있지 않을 경우, 에러 발생
Console.WriteLine(ex.Message);
}
}
public static void EnumTryParse(string str)
{
try
{
Numbers Number;
//if (Enum.TryParse("3", out Number)) 변환하려는 문자열 값이 열거형으로 정의된 건지 확인도 가능
if (Enum.TryParse(str, out Number))
Console.WriteLine($"Numbers = {Number}, Result = {Number == Numbers.Three}");
// Console
// Numbers = Three, Result = True
}
catch (Exception ex)
{
// Number Enum 선언 되있지 않을 경우, 에러 발생
Console.WriteLine(ex.Message);
}
}