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()
를 사용하는 것이 가장 좋습니다.
관련 문장 - Csharp String
- C# Int를 문자열로 변환
- C#의 switch 문에서 문자열 사용
- C#에서 문자열을 부울로 변환하는 방법
- C#에서 문자열을 부동 소수점으로 변환하는 방법
- C#에서 문자열을 바이트 배열로 변환하는 방법