列挙型書式指定文字列

Enum.ToString メソッドを使用すると、列挙型のメンバーの数値、16 進数値、または文字列値を表す新しい文字列オブジェクトを作成できます。 ToString メソッドでは、返す値を指定するために列挙型書式指定文字列が使用されます。

列挙型書式指定文字列と、各書式指定文字列が返す値の一覧を次の表に示します。 列挙型書式指定子では、大文字と小文字は区別されません。

書式指定文字列

結果

G または g

列挙型エントリを文字列値として表示できる場合は、文字列値として表示されます。文字列値として表示できない場合には、現在のインスタンスの整数値が表示されます。 Flags 属性が設定されており、これによって列挙型が定義されている場合には、有効な各エントリの文字列値がコンマで区切られた形式で連結されます。 Flags 属性が設定されていない場合には、無効な値が数値エントリとして表示されます。 G 書式指定子の例を次に示します。

F または f

列挙エントリを文字列値として表示できる場合には、文字列値として表示されます。 Flags 属性がない場合でも、列挙値の各エントリの合計値として値を完全に表示できる場合には、有効な各エントリの文字列値が、コンマで区切った形式で連結されます。 列挙エントリによって値を完全に決定できない場合は、この値は整数値として書式指定されます。 F 書式指定子の例を次に示します。

D または d

列挙エントリが、表現可能な最も短い整数値として表示されます。 D 書式指定子の例を次に示します。

X または x

列挙エントリが 16 進数値として表示されます。 最小桁数である 8 桁で値を表示するため、必要に応じて先行ゼロが埋め込まれます。 X 書式指定子の例を次に示します。

Red、Blue、および Green の 3 つのエントリから成る Colors という列挙型を定義する例を次に示します。

Public Enum Color
   Red = 1
   Blue = 2
   Green = 3
End Enum
public enum Color {Red = 1, Blue = 2, Green = 3}

列挙値の定義が完了したら、次の方法でインスタンスを宣言できます。

Dim myColor As Color = Color.Green      
Color myColor = Color.Green;      

その後、Color.ToString(System.String) メソッドを使用して、それに渡される書式指定子に応じてさまざまな方法で列挙値を表示できます。

Console.WriteLine("The value of myColor is {0}.", _
                  myColor.ToString("G"))
Console.WriteLine("The value of myColor is {0}.", _
                  myColor.ToString("F"))
Console.WriteLine("The value of myColor is {0}.", _
                  myColor.ToString("D"))
Console.WriteLine("The value of myColor is 0x{0}.", _
                  myColor.ToString("X"))
' The example displays the following output to the console:
'       The value of myColor is Green.
'       The value of myColor is Green.
'       The value of myColor is 3.
'       The value of myColor is 0x00000003.      
Console.WriteLine("The value of myColor is {0}.", 
                  myColor.ToString("G"));
Console.WriteLine("The value of myColor is {0}.", 
                  myColor.ToString("F"));
Console.WriteLine("The value of myColor is {0}.", 
                  myColor.ToString("D"));
Console.WriteLine("The value of myColor is 0x{0}.", 
                  myColor.ToString("X"));
// The example displays the following output to the console:
//       The value of myColor is Green.
//       The value of myColor is Green.
//       The value of myColor is 3.
//       The value of myColor is 0x00000003.      

参照

概念

型の書式設定