枚举格式字符串

更新:2007 年 11 月

可以使用 Enum.ToString 方法创建新的字符串对象,以表示枚举成员的数值、十六进制值或字符串值。此方法采用某个枚举格式化字符串指定希望返回的值。

下表列出了枚举格式化字符串及其返回的值。这些格式说明符不区分大小写。

格式字符串

结果

G 或 g

如有可能,将枚举项显示为字符串值,否则显示当前实例的整数值。如果枚举定义中设置了 Flags 属性,则串联每个有效项的字符串值并将各值用逗号分开。如果未设置 Flags 属性,则将无效值显示为数字项。下面的示例阐释 G 格式说明符。

F 或 f

如有可能,将枚举项显示为字符串值。如果值可以完全显示为枚举项的总和(即使未提供 Flags 属性),则串联每个有效项的字符串值并将各值用逗号分开。如果值不能完全由枚举项确定,则将值格式化为整数值。下面的示例阐释 F 格式说明符。

D 或 d

以尽可能短的表示形式将枚举项显示为整数值。下面的示例阐释 D 格式说明符。

X 或 x

将枚举项显示为十六进制值。按需要将值表示为带有前导零,以确保值的长度最少有八位。下面的示例阐释 X 格式说明符。

示例

下面的示例定义一个名为 Colors 的枚举,该枚举包含三项: Red、Blue 和 Green。

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.      

请参见

其他资源

格式化类型