ホームページ >バックエンド開発 >C#.Net チュートリアル >C# で Enum.Parse 関数を使用して文字列を列挙型の値に変換する方法
C# で Enum.Parse 関数を使用して文字列を列挙型の値に変換する方法
C# では、列挙 (Enum) は A データ型です。関連する定数のセットを宣言するために使用されます。文字列を列挙型の値に変換する必要がある場合、Enum.Parse 関数を使用してこれを実現できます。この記事では、Enum.Parse関数の使い方と具体的なコード例を詳しく紹介します。
Enum.Parse 関数は、指定された文字列から列挙型の値を解析しようとする強力なメソッドです。その宣言は次のとおりです。
public static object Parse(Type enumType, string value)
このうち、enumType は解析対象の列挙型を表し、value は解析対象の文字列を表します。 Enum.Parse 関数の戻り値はオブジェクト型の値であり、これをターゲットの列挙型に変換する必要があります。
以下は、Enum.Parse 関数を使用して文字列を列挙型の値に変換する方法を示す例です:
using System; enum Color { Red, Green, Blue } class Program { static void Main(string[] args) { string colorString = "Green"; Color color = (Color)Enum.Parse(typeof(Color), colorString); Console.WriteLine("枚举类型的值为:" + color); } }
上記のコードでは、Color Lift という名前の列挙を定義します。このタイプには、Red、Green、Blue の 3 つの定数が含まれます。 Main メソッドでは、まず colorString 変数を定義し、それに文字列「Green」を割り当てます。次に、Enum.Parse 関数を使用して colorString を解析して列挙型の値にし、それを color 変数に割り当てます。最後に、Console.WriteLine 関数を通じて色の値を出力します。
上記のコードを実行すると、「列挙型の値は: Green」と出力され、文字列が列挙型の値に正常に変換されたことがわかります。
Enum.Parse 関数を使用する場合、入力文字列が正しい形式であり、ターゲットの列挙型の定数名と一致することを確認する必要があることに注意してください。入力文字列が列挙型と一致しない場合は、ArgumentException がスローされます。
上記の例に加えて、TryParse メソッドと Enum.Parse 関数を組み合わせることにより、より堅牢な変換を実行することもできます。 TryParse メソッドは、変換が例外のスローを回避できない場合にデフォルト値を返すことができます。以下は具体的な例です。
using System; enum DayOfWeek { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday } class Program { static void Main(string[] args) { string dayString = "Monday"; DayOfWeek day; if (Enum.TryParse(dayString, out day)) { Console.WriteLine("枚举类型的值为:" + day); } else { Console.WriteLine("无法解析字符串为枚举类型的值"); } } }
上記のコードでは、まず dayString 変数を定義し、それを文字列「Monday」に割り当てます。次に、day 変数を定義し、Enum.TryParse メソッドを使用して dayString を解析して列挙型の値に変換しました。解析が成功すると結果がdayに代入されて出力され、解析が失敗した場合は「文字列を列挙型の値に解析できませんでした」と出力されます。
上記の例を通じて、C# で Enum.Parse 関数を使用して文字列を列挙型の値に変換する方法を学びました。 Enum.Parse 関数を直接使用するか、Enum.Parse 関数を TryParse メソッドと組み合わせて使用するかに関係なく、文字列を列挙型に柔軟に変換できるため、さまざまな列挙型操作の処理が容易になります。
以上がC# で Enum.Parse 関数を使用して文字列を列挙型の値に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。