C# 문자열을 열거 형으로 변환
-
C#
string
을enum
으로 변환-Enum.Parse()
및Enum.TryParse()
사용 -
Enum.Parse()
메소드를 사용하여 예외 처리를 통해string
을enum
으로 변환하는 C# 프로그램 -
Enum.TryParse()
를 사용하여string
을enum
으로 변환하는 C# 프로그램 -
Enum.IsDefined()
메소드를 사용하여 문자열 값 존재를 확인하는 C# 프로그램 - 결론

C#에서는Enum.Parse()
및Enum.TryParse()
메서드를 사용하여 문자열을 열거 형으로 변환합니다. 여기서는 두 가지 예를 모두 제시했지만 문자열을 열거 형으로 변환 할 때Enum.TryParse()
메서드를 사용하는 것이 좋습니다.
C#string
을enum
으로 변환-Enum.Parse()
및Enum.TryParse()
사용
문자열을enum
으로 변환하기 위해Enum.Parse()
메소드를 사용할 수 있습니다. Enum.Parse()
는 정적 메소드이므로 파일 맨 위에System
을 신중하게 포함시켜야합니다.
열거 형 유형, 문자열 값 및 표시기 (선택 사항)가이 메소드의 매개 변수입니다. Enum.Parse()
및Enum.TryParse()
를 사용하는 올바른 구문은 다음과 같습니다.
EnumName VariableName= (EnumName)Enum.Parse(typeof(EnumName), StringValue);
EnumName VariableName= (EnumName)Enum.Parse(typeof(EnumName), StringValue,indicator); //indicator can be true or false
//To implement Enum.TryParse()
EnumName VariableName;
Enum.TryParse(StringValue, out VariableName);
이제 우리는 이것을 C# 프로그램에서 구현할 것입니다.
Enum.Parse()
를 사용하여string
을enum
으로 변환하는 C# 프로그램
using System;
class Conversion{
enum Flowers
{
None,
Daisy= 1,
Lili = 2,
Rose = 3
}
static void Main()
{
string stringvalue = "Rose";
Flowers Flower = (Flowers)Enum.Parse(typeof(Flowers), stringvalue);
//To check if we have converted successfully
if(Flower == Flowers.Rose)
{
Console.WriteLine("The Flower is Rose");
}
}
}
출력:
The Flower is Rose
여기에는 각각의 값을 가진 여러 상수를 포함하는Flowers
라는 열거 형이 있습니다. 문자열 값Rose
를 열거 형으로 변환하기 위해Enum.Parse()
메소드를 호출했습니다. typeof(Flowers)
는 열거 형을 반환합니다. 결국 전환이 성공했는지 확인했습니다.
변환하려는 문자열을 열거 형에서 사용할 수없는 경우 예외가 발생할 수 있습니다. 이를 피하기 위해 try-catch
블록을 사용합니다.
Enum.Parse()
메소드를 사용하여 예외 처리를 통해string
을enum
으로 변환하는 C# 프로그램
using System;
class Conversion{
enum Flowers
{
None,
Daisy= 1,
Lili = 2,
Rose = 3
}
static void Main()
{
stringvalue = "Jasmine";
try
{
Flowers Flower = (Flowers)Enum.Parse(typeof(Flowers), stringvalue);
}
catch (Exception ex)
{
Console.WriteLine("Not Possible");
//Set value to none
Flower = Flowers.none;
}
}
}
출력:
Not Possible
Enum.TryParse()
를 사용하여string
을enum
으로 변환하는 C# 프로그램
using System;
enum Flowers
{
None,
Daisy= 1,
Lili = 2,
Rose = 3
}
class Conversion
{
static void Main()
{
string stringvalue = "Rose";
//Using Enum.TryParse()
Flowers Flower;
if(Enum.TryParse(stringvalue, out Flower))
{
Console.WriteLine(Flower == Flowers.Rose);
}
}
}
출력:
True
enum의 constant 값을Enum.TryParse()
메소드의 매개 변수로 전달할 수도 있습니다. 다음 프로그램이이를 구현합니다.
using System;
enum Flowers
{
None,
Daisy= 1,
Lili = 2,
Rose = 3
}
class Conversion
{
static void Main()
{
Flowers Flower;
if(Enum.TryParse("3", out Flower))
{
Console.WriteLine(Flower);
}
}
}
출력:
Rose
변환하려는 문자열 값이 열거 형으로 정의되어 있는지 또는Enum.IsDefined()
메서드를 사용하여 정의되지 않았는지 확인할 수도 있습니다.
Enum.IsDefined()
메소드를 사용하여 문자열 값 존재를 확인하는 C# 프로그램
using System;
enum Flowers
{
None,
Daisy= 1,
Lili = 2,
Rose = 3
}
class Conversion{
static void Main()
{
Console.WriteLine(Enum.IsDefined(typeof(Flowers), "Rose"));
}
}
출력:
True
결론
Enum.Parse()
와Enum.TryParse()
는 문자열을 열거 형으로 변환하는 데 사용되는 메서드입니다. 그러나Enum.TryParse()
를 사용하는 것이 가장 좋습니다.