Cadenas de formato de enumeración

Cambiar vista:
Sin script
.NET Framework 4
Cadenas de formato de enumeración
Este artículo se tradujo de forma manual. Para mostrar esta página y el contenido original en inglés al mismo tiempo, cambie a Lightweight según sus preferencias de visualización.

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.

Visual Basic

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                               


C#

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.

Visual Basic

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                               


C#

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.

Visual Basic

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


C#

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.

Visual Basic

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


C#

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


Ejemplo

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

Visual Basic

Public Enum Color
   Red = 1
   Blue = 2
   Green = 3
End Enum


C#

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


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

Visual Basic

Dim myColor As Color = Color.Green      


C#

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.

Visual Basic

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.      


C#

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

Conceptos