Cadenas de formato de enumeraciónEnumeration format strings

Puede usar el método Enum.ToString para crear un objeto de cadena que represente el valor de cadena, numérico o hexadecimal del miembro de una enumeración.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. Este método toma una de las cadenas de formato de enumeración para especificar el valor que quiere que se devuelva.This method takes one of the enumeration formatting strings to specify the value that you want returned.

En las secciones siguientes se enumeran las cadenas de formato de enumeración y los valores que devuelven.The following sections list the enumeration formatting strings and the values they return. Estos especificadores de formato no distinguen mayúsculas de minúsculas.These format specifiers are not case-sensitive.

G o gG or g

Si es posible, muestra la entrada de enumeración como valor de cadena y, si no, muestra el valor entero de la instancia actual.Displays the enumeration entry as a string value, if possible, and otherwise displays the integer value of the current instance. Si la enumeración se define con el conjunto de atributos Flags, los valores de cadena de cada entrada válida se concatenan, separados por comas.If the enumeration is defined with the Flags attribute set, the string values of each valid entry are concatenated together, separated by commas. Si no se establece el atributo Flags, se muestra un valor no válido como entrada numérica.If the Flags attribute is not set, an invalid value is displayed as a numeric entry. En el siguiente ejemplo se muestra el uso del 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 o fF or f

Si es posible, muestra la entrada de enumeración como valor de cadena.Displays the enumeration entry as a string value, if possible. Si el valor se puede mostrar por completo como suma de las entradas de la enumeración (aunque el atributo Flags no esté presente), los valores de cadena de cada entrada válida se concatenan, separados por comas.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. Si las entradas de enumeración no pueden determinar completamente el valor, a este se le da formato como valor entero.If the value cannot be completely determined by the enumeration entries, then the value is formatted as the integer value. En el siguiente ejemplo se muestra el uso del 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 o dD or d

Muestra la entrada de enumeración como valor entero en la representación más corta posible.Displays the enumeration entry as an integer value in the shortest representation possible. En el siguiente ejemplo se muestra el uso del 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 o xX or x

Muestra la entrada de enumeración como valor hexadecimal.Displays the enumeration entry as a hexadecimal value. El valor se representa con ceros a la izquierda, según sea necesario, para garantizar que la cadena de resultados tenga dos caracteres para cada byte en el tipo numérico que subyace en el tipo de enumeración.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. En el siguiente ejemplo se muestra el uso del especificador de formato X.The following example illustrates the X format specifier. En el ejemplo, el tipo subyacente tanto de ConsoleColor como de FileAttributes es Int32, o un entero de 32 bits (o 4 bytes), que produce una cadena de resultados de ocho 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                               

EjemploExample

En el ejemplo siguiente se define una enumeración denominada Colors que consta de tres entradas: Red, Blue y 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

Una vez definida la enumeración, se puede declarar una instancia de la siguiente manera.After the enumeration is defined, an instance can be declared in the following manner.

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

Luego se puede usar el método Color.ToString(System.String) para mostrar el valor de enumeración de maneras diferentes, según el especificador de formato pasado.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.      

Vea tambiénSee also