C#の列挙型ToString()メソッドの使い方を解説
C#におけるToString()メソッドは、列挙型(enum)インスタンスの値を対応する文字列表現に変換するためのメソッドです。この記事では、基本的な使い方から書式指定子を使った応用例まで、サンプルコードとともに解説します。
列挙型の定義
まずは、例として車両を表す列挙型を定義します。
enum Vehicle { Car, Bus, Truck, Motobike };ToString()メソッドで文字列に変換する
列挙型の値を文字列表現に変換するには、ToString()メソッドを使用します。
Vehicle.Car.ToString("d")ここで引数に指定している"d"は書式指定子です。"d"または"D"を指定すると、列挙型の名前ではなく、その基になる整数値(10進数)が文字列として返されます。書式指定子を省略した場合は、既定の"G"(一般形式)が適用され、列挙型メンバーの名前が返されます。
サンプルコード
using System;
public class Demo {
enum Vehicle { Car, Bus, Truck, Motobike };
public static void Main() {
Console.WriteLine("Vehicle.Car = {0}", Vehicle.Car.ToString("d"));
Console.WriteLine("Vehicle.Bus = {0}", Vehicle.Bus.ToString("d"));
}
}実行結果
Vehicle.Car = 0 Vehicle.Bus = 1
主な書式指定子の一覧
列挙型のToString()メソッドでは、以下のような書式指定子を使用できます。
- G(一般形式):列挙型メンバーの名前を返します(既定)。
- D(10進数):基になる整数値を10進数の文字列で返します。
- X(16進数):基になる整数値を16進数の文字列で返します。
- F(フラグ):フラグ属性を持つ列挙型で、複数のメンバー名を組み合わせて返します。
用途に応じて書式指定子を使い分けることで、デバッグやログ出力などで列挙型の値を柔軟に扱うことができます。
-
C#のEnum.Parseメソッドで列挙型を解析する方法
C#のEnumクラスに用意されているParseメソッドを使用すると、列挙型定数の名前や数値の文字列表現を、それに対応する列挙型オブジェクトへ変換できます。文字列として受け取ったデータを列挙型として扱いたい場面で非常に便利なメソッドです。列挙型の定義ここでは、次のように車種を表す列挙型を定義します。enum Vehicle { Car, Bus, Truck, Motobike };Enum.Parse()の使い方まず、ループ処理の中でGetNames()メソッドを呼び出し、列挙型が持つすべての定数名を取得します。その後、取得した名前をEnum.Parse()メソッドに渡すことで、文字列を列挙型
-
C#の列挙型で使えるEnum.IsDefinedメソッドの使い方
C#のEnum.IsDefinedメソッドは、指定した列挙型(enum)の中に、特定の整数値、またはその値に対応するメンバー名(文字列)が存在するかどうかを判定し、存在すればtrueを返します。 列挙型の定義例 まず、次のような列挙型を定義してみましょう。 enum Subjects { Maths, Science, English, Economics }; この列挙型では、各メンバーに値を明示的に指定していないため、デフォルトで先頭から順に整数値が割り当てられています。つまり、以下のように初期化されているのと同じです。 Maths = 0, Science = 1, English =