Cadeias de caracteres de formato de enumeraçãoEnumeration format strings

Você pode usar o método Enum.ToString para criar um novo objeto de cadeia de caracteres que representa o valor numérico, hexadecimal ou de cadeia de caracteres de um membro da enumeração.You can use the Enum.ToString method to create a new string object that represents the numeric, hexadecimal, or string value of an enumeration member. Esse método usa uma das cadeias de caracteres de formatação de enumeração para especificar o valor que você deseja que seja retornado.This method takes one of the enumeration formatting strings to specify the value that you want returned.

As seções a seguir listam as cadeias de caracteres de formatação de enumeração e os valores que elas retornam.The following sections list the enumeration formatting strings and the values they return. Esses especificadores de formato não diferenciam maiúsculas de minúsculas.These format specifiers are not case-sensitive.

"G" ou "g"G or g

Exibem a entrada de enumeração como um valor de cadeia de caracteres. Caso contrário, é exibido o valor inteiro da instância atual.Displays the enumeration entry as a string value, if possible, and otherwise displays the integer value of the current instance. Se a enumeração for definida com o atributo Flags definido, os valores da cadeia de caracteres de cada entrada válida serão concatenados, separados por vírgulas.If the enumeration is defined with the Flags attribute set, the string values of each valid entry are concatenated together, separated by commas. Se o atributo Flags não estiver definido, um valor inválido será exibido como uma entrada numérica.If the Flags attribute is not set, an invalid value is displayed as a numeric entry. O exemplo a seguir ilustra o especificador de formato G.The following example illustrates the G format specifier.

Console.WriteLine(ConsoleColor.Red.ToString("G"));         // Displays Red
FileAttributes attributes = FileAttributes.Hidden |
                            FileAttributes.Archive;
Console.WriteLine(attributes.ToString("G"));   // Displays Hidden, Archive                               
Console.WriteLine(ConsoleColor.Red.ToString("G"))           ' Displays Red
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
                                   FileAttributes.Archive
Console.WriteLine(attributes.ToString("G"))     ' Displays Hidden, Archive                               

F ou fF or f

Exibem a entrada de enumeração como um valor de cadeia de caracteres, se possível.Displays the enumeration entry as a string value, if possible. Se o valor puder ser exibido totalmente como uma soma das entradas na enumeração (mesmo que o atributo Flags não esteja presente), os valores da cadeia de caracteres de cada entrada válida serão concatenados, separados por vírgulas.If the value can be completely displayed as a summation of the entries in the enumeration (even if the Flags attribute is not present), the string values of each valid entry are concatenated together, separated by commas. Se não puder ser determinado completamente pelas entradas de enumeração, o valor será formatado como valor inteiro.If the value cannot be completely determined by the enumeration entries, then the value is formatted as the integer value. O exemplo a seguir ilustra o especificador de formato F.The following example illustrates the F format specifier.

Console.WriteLine(ConsoleColor.Blue.ToString("F"));       // Displays Blue
FileAttributes attributes = FileAttributes.Hidden | 
                            FileAttributes.Archive;
Console.WriteLine(attributes.ToString("F"));   // Displays Hidden, Archive                               
Console.WriteLine(ConsoleColor.Blue.ToString("F"))         ' Displays Blue
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
                                   FileAttributes.Archive
Console.WriteLine(attributes.ToString("F"))     ' Displays Hidden, Archive                               

D ou dD or d

Exibem a entrada de enumeração como um valor inteiro na representação mais curta possível.Displays the enumeration entry as an integer value in the shortest representation possible. O exemplo a seguir ilustra o especificador de formato D.The following example illustrates the D format specifier.

Console.WriteLine(ConsoleColor.Cyan.ToString("D"));         // Displays 11
FileAttributes attributes = FileAttributes.Hidden |
                            FileAttributes.Archive;
Console.WriteLine(attributes.ToString("D"));                // Displays 34                               
Console.WriteLine(ConsoleColor.Cyan.ToString("D"))           ' Displays 11
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
                                   FileAttributes.Archive
Console.WriteLine(attributes.ToString("D"))                  ' Displays 34                               

"X" ou "x"X or x

Exibe a entrada de enumeração como um valor hexadecimal.Displays the enumeration entry as a hexadecimal value. O valor é representado com zeros à esquerda conforme o necessário, para garantir que a cadeia de caracteres resultante tenha dois caracteres para cada byte no tipo de enumeração tipo numérico subjacente.The value is represented with leading zeros as necessary, to ensure that the result string has two characters for each byte in the enumeration type's underlying numeric type. O exemplo a seguir ilustra o especificador de formato X.The following example illustrates the X format specifier. No exemplo, o tipo subjacente de ConsoleColor e FileAttributes é Int32, ou um inteiro de 32 bits (ou 4 bytes), que produz uma cadeia de caracteres resultante de oito caracteres.In the example, the underlying type of both ConsoleColor and FileAttributes is Int32, or a 32-bit (or 4-byte) integer, which produces an 8-character result string.

Console.WriteLine(ConsoleColor.Cyan.ToString("X"));   // Displays 0000000B
FileAttributes attributes = FileAttributes.Hidden |
                            FileAttributes.Archive;
Console.WriteLine(attributes.ToString("X"));          // Displays 00000022                               
Console.WriteLine(ConsoleColor.Cyan.ToString("X"))     ' Displays 0000000B
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
                                   FileAttributes.Archive
Console.WriteLine(attributes.ToString("X"))            ' Displays 00000022                               

ExemploExample

O exemplo a seguir define uma enumeração chamada Colors, que consiste em três entradas: Red, Blue e Green.The following example defines an enumeration called Colors that consists of three entries: Red, Blue, and Green.

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

Após a enumeração ser definida, uma instância pode ser declarada da seguinte maneira.After the enumeration is defined, an instance can be declared in the following manner.

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

O método Color.ToString(System.String) pode, então, ser usado para exibir o valor da enumeração de diferentes maneiras, dependendo do especificador de formato passado para ele.The Color.ToString(System.String) method can then be used to display the enumeration value in different ways, depending on the format specifier passed to it.

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.      

Consulte tambémSee also