C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のEnum.Parseメソッドで列挙型を解析する方法

C#のEnumクラスに用意されているParseメソッドを使用すると、列挙型定数の名前や数値の文字列表現を、それに対応する列挙型オブジェクトへ変換できます。文字列として受け取ったデータを列挙型として扱いたい場面で非常に便利なメソッドです。

列挙型の定義

ここでは、次のように車種を表す列挙型を定義します。

enum Vehicle { Car, Bus, Truck, Motobike };

Enum.Parse()の使い方

まず、ループ処理の中でGetNames()メソッドを呼び出し、列挙型が持つすべての定数名を取得します。その後、取得した名前をEnum.Parse()メソッドに渡すことで、文字列を列挙型オブジェクトに変換します。

Enum.Parse(typeof(Vehicle), v)

第一引数には対象となる列挙型のType情報(typeof(Vehicle))を指定し、第二引数には変換したい文字列を渡します。

サンプルコード

using System;

public class Demo {
    enum Vehicle { Car, Bus, Truck, Motobike };

    public static void Main() {
        Console.WriteLine("The enumeration...");
        foreach (string v in Enum.GetNames(typeof(Vehicle))) {
            Console.WriteLine("{0} = {1:D}", v, Enum.Parse(typeof(Vehicle), v));
        }
        Console.WriteLine();
    }
}

実行結果

The enumeration...
Car = 0
Bus = 1
Truck = 2
Motobike = 3

注意点

Enum.Parse()は、存在しない定数名や不正な形式の文字列を渡した場合にArgumentExceptionまたはOverflowExceptionをスローします。ユーザー入力など信頼できない文字列を解析する場合は、例外をスローせずにnullを返してくれるEnum.TryParse()メソッドの利用を検討すると、より安全なコードになります。

  1. JavaScriptのJSON.parse()メソッドとは?基本の使い方とサンプルコードを解説

    JSON.parse()メソッドとはJSON.parse()メソッドは、JSON形式の文字列を解析(パース)し、そこからJavaScriptオブジェクトを生成するためのメソッドです。Web APIなどから受け取ったJSONデータをJavaScriptで扱える形に変換する際に、最もよく使われる手法の一つです。基本的な構文は以下の通りです。JSON.parse(text[, reviver])第1引数には解析対象のJSON文字列を指定し、省略可能な第2引数のreviver関数を使うと、変換後の値を加工することもできます。サンプルコード以下は、JSON.parse()メソッドを使ってJSON文字列を

  2. C#のbool.Parseメソッドで文字列をbool型に変換する方法

    C#では、文字列をbool型(真偽値)に変換する際に、bool.Parseメソッドを使用します。このメソッドは、「true」や「false」といった文字列を、プログラム内で扱える真偽値へと変換してくれます。基本的な使い方まず、変換元となる文字列を用意します。string str = true;次に、bool.Parseメソッドを使って文字列をbool型に変換します。bool res = bool.Parse(str);サンプルコード以下は、文字列をbool型に変換して結果をコンソールに出力する完全なコード例です。using System; using System.Linq; class D