Cadeias de caracteres de formato de enumeração
Você pode usar o Enum.ToString método para criar um novo objeto string que representa o valor numérico, hexadecimal ou string de um membro de enumeração. Esse método usa uma das cadeias de caracteres de formatação de enumeração para especificar o valor que você deseja retornar.
As seções a seguir listam as cadeias de caracteres de formatação de enumeração e os valores que elas retornam. Esses especificadores de formato não diferenciam maiúsculas de minúsculas.
G ou g
Exibe a entrada de enumeração como um valor de cadeia de caracteres, se possível, e exibe o valor inteiro da instância atual. Se a enumeração for definida com o FlagsAttribute conjunto, os valores de cadeia de caracteres de cada entrada válida serão concatenados juntos, separados por vírgulas. Se o Flags
atributo não estiver definido, um valor inválido será exibido como uma entrada numérica. O exemplo a seguir ilustra o especificador de G
formato.
Console.WriteLine(((DayOfWeek)7).ToString("G")); // 7
Console.WriteLine(ConsoleColor.Red.ToString("G")); // Red
var attributes = FileAttributes.Hidden | FileAttributes.Archive;
Console.WriteLine(attributes.ToString("G")); // Hidden, Archive
Console.WriteLine((CType(7, DayOfWeek)).ToString("G")) ' 7
Console.WriteLine(ConsoleColor.Red.ToString("G")) ' Red
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
FileAttributes.Archive
Console.WriteLine(attributes.ToString("G")) ' Hidden, Archive
F ou f
Exibe a entrada de enumeração como um valor de cadeia de caracteres, se possível. Se o valor puder ser exibido como uma soma das entradas na enumeração (mesmo que o Flags
atributo não esteja presente), os valores de cadeia de caracteres de cada entrada válida serão concatenados juntos, separados por vírgulas. Se o valor não puder ser determinado pelas entradas de enumeração, o valor será formatado como o valor inteiro. O exemplo a seguir ilustra o especificador de F
formato.
Console.WriteLine(((DayOfWeek)7).ToString("F")); // Monday, Saturday
Console.WriteLine(ConsoleColor.Blue.ToString("F")); // Blue
var attributes = FileAttributes.Hidden | FileAttributes.Archive;
Console.WriteLine(attributes.ToString("F")); // Hidden, Archive
Console.WriteLine((CType(7, DayOfWeek)).ToString("F")) ' Monday, Saturday
Console.WriteLine(ConsoleColor.Blue.ToString("F")) ' Blue
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
FileAttributes.Archive
Console.WriteLine(attributes.ToString("F")) ' Hidden, Archive
D ou d
Exibe a entrada de enumeração como um valor inteiro na representação mais curta possível. O exemplo a seguir ilustra o especificador de D
formato.
Console.WriteLine(((DayOfWeek)7).ToString("D")); // 7
Console.WriteLine(ConsoleColor.Cyan.ToString("D")); // 11
var attributes = FileAttributes.Hidden | FileAttributes.Archive;
Console.WriteLine(attributes.ToString("D")); // 34
Console.WriteLine((CType(7, DayOfWeek)).ToString("D")) ' 7
Console.WriteLine(ConsoleColor.Cyan.ToString("D")) ' 11
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
FileAttributes.Archive
Console.WriteLine(attributes.ToString("D")) ' 34
X ou x
Exibe a entrada de enumeração como um valor hexadecimal. O valor é representado com zeros à esquerda, conforme necessário, para garantir que a cadeia de caracteres de resultado tenha dois caracteres para cada byte no tipo numérico subjacente do tipo de enumeração. O exemplo a seguir ilustra o especificador de formato X. No exemplo, os tipos subjacentes de , ConsoleColor e FileAttributes é Int32, ou um inteiro de 32 bits (ou 4 bytes), que produz uma cadeia de resultados de DayOfWeek8 caracteres.
Console.WriteLine(((DayOfWeek)7).ToString("X")); // 00000007
Console.WriteLine(ConsoleColor.Cyan.ToString("X")); // 0000000B
var attributes = FileAttributes.Hidden | FileAttributes.Archive;
Console.WriteLine(attributes.ToString("X")); // 00000022
Console.WriteLine((CType(7, DayOfWeek)).ToString("X")) ' 00000007
Console.WriteLine(ConsoleColor.Cyan.ToString("X")) ' 0000000B
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
FileAttributes.Archive
Console.WriteLine(attributes.ToString("X")) ' 00000022
Exemplo
O exemplo a seguir define uma enumeração chamada Colors
que consiste em três entradas: Red
, Blue
, e Green
.
public enum Color { Red = 1, Blue = 2, Green = 3 };
Public Enum Color
Red = 1
Blue = 2
Green = 3
End Enum
Depois que a enumeração é definida, uma instância pode ser declarada da seguinte maneira.
Color myColor = Color.Green;
Dim myColor As Color = Color.Green
O Color.ToString(System.String)
método pode então ser usado para exibir o valor de enumeração de maneiras diferentes, dependendo do especificador de formato passado para ele.
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.