Cadenas de formato de enumeración

Actualización: noviembre 2007

Puede utilizar el método Enum.ToString para crear un nuevo objeto de cadena que represente un valor numérico, hexadecimal o de cadena de un miembro de la enumeración. Este método toma una de las cadenas que dan formato a la enumeración para especificar el valor que se desea que se devuelva.

En la siguiente tabla se enumeran las cadenas que dan formato a la enumeración y los valores que devuelven. Estos especificadores de formato no hacen distinción entre mayúsculas y minúsculas.

Cadena de formato

Resultado

G o g

Muestra la entrada de la enumeración como un valor de cadena, si es posible, y en caso contrario, muestra el valor de entero de la instancia actual. Si la enumeración se define con el conjunto de atributos Flags, los valores de cadena de cada entrada válida se concatenan juntos, separados por comas. Si no está establecido el atributo Flags, se muestra un valor no válido como una entrada numérica. En el ejemplo siguiente se muestra el especificador de formato G.

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
Console.WriteLine(ConsoleColor.Red.ToString("G")); // Displays Red
FileAttributes attributes = FileAttributes.Hidden |
FileAttributes.Archive;
Console.WriteLine(attributes.ToString("G")); // Displays Hidden, Archive

F o f

Muestra la entrada de enumeración como un valor de cadena si es posible. Si el valor se puede mostrar por completo como una sumatoria de las entradas de la enumeración (incluso si no está presente el atributo Flags), los valores de cadena de cada entrada válida se concatenan juntos, separados por comas. Si el valor no se puede determinar completamente con las entradas de la enumeración, entonces se le da formato al valor como valor de entero. En el ejemplo siguiente se muestra el especificador de formato F.

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
Console.WriteLine(ConsoleColor.Blue.ToString("F")); // Displays Blue
FileAttributes attributes = FileAttributes.Hidden |
FileAttributes.Archive;
Console.WriteLine(attributes.ToString("F")); // Displays Hidden, Archive

D o d

Muestra la entrada de enumeración como un valor de entero de la representación más corta posible. En el ejemplo siguiente se muestra el especificador de formato D.

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

X o x

Presenta la entrada de la enumeración como un valor hexadecimal. El valor se representa con tantos ceros iniciales como sea necesario para asegurar que el valor tenga un largo mínimo de ocho dígitos. En el ejemplo siguiente se muestra el especificador de formato X.

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

Código de

En el ejemplo siguiente se define una enumeración denominada Colors que se compone de tres entradas: Red, Blue y Green.

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

Una vez definida la enumeración, se declara una instancia de la manera siguiente.

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

El método Color.ToString(System.String) se puede utilizar a continuación para mostrar el valor de enumeración de maneras diferentes, en función del especificador de formato que se le ha pasado.

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én

Otros recursos

Aplicar formato a tipos