Enum.Format(Type, Object, String) Método

Definición

Convierte el valor especificado de un tipo enumerado especificado en la representación de cadena equivalente de acuerdo con el formato especificado.

public static string Format (Type enumType, object value, string format);
[System.Runtime.InteropServices.ComVisible(true)]
public static string Format (Type enumType, object value, string format);

Parámetros

enumType
Type

Tipo de enumeración del valor que se va a convertir.

value
Object

Valor que se va a convertir.

format
String

Formato de resultados que se va a usar.

Devoluciones

Representación de cadena de value.

Atributos

Excepciones

El enumType, value o el parámetro format es null.

El parámetro enumType no es un tipo Enum.

o bien

value procede de una enumeración que difiere en tipo de enumType.

o bien

El tipo de value no es un tipo subyacente de enumType.

El parámetro format contiene un valor no válido.

format es igual a "X", pero se desconoce el tipo de enumeración.

O bien

.NET 8 y versiones posteriores: enumType es un tipo de enumeración con respaldo booleano.

Ejemplos

En el ejemplo siguiente se muestra el uso de Format en el contexto de Enum.

using System;

enum Colors { Red, Green, Blue, Yellow };

public class FormatTest {
    public static void Main() {
        Colors myColor = Colors.Blue;

        Console.WriteLine("My favorite color is {0}.", myColor);
        Console.WriteLine("The value of my favorite color is {0}.", Enum.Format(typeof(Colors), myColor, "d"));
        Console.WriteLine("The hex value of my favorite color is {0}.", Enum.Format(typeof(Colors), myColor, "x"));
    }
}
// The example displays the following output:
//    My favorite color is Blue.
//    The value of my favorite color is 2.
//    The hex value of my favorite color is 00000002.

Comentarios

En la tabla siguiente se muestran los valores válidos para el format parámetro .

Formato Descripción
"G" o "g" Si value es igual a una constante enumerada con nombre, se devuelve el nombre de esa constante; de lo contrario, se devuelve el equivalente decimal de value .

Por ejemplo, supongamos que la única constante enumerada se denomina Red y su valor es 1. Si value se especifica como 1, este formato devuelve "Rojo". Sin embargo, si value se especifica como 2, este formato devuelve "2".

o bien

Si el FlagsAttribute atributo personalizado se aplica a la enumeración, value se trata como un campo de bits que contiene una o varias marcas que constan de uno o varios bits.

Si value es igual a una combinación de constantes enumeradas con nombre, se devuelve una lista separada por delimitadores de los nombres de esas constantes. value se busca marcas, pasando de la marca con el valor más grande al valor más pequeño. Para cada marca que corresponde a un campo de bits en value, el nombre de la constante se concatena a la lista separada por delimitadores. A continuación, el valor de esa marca se excluye de una consideración adicional y la búsqueda continúa para la marca siguiente.

Si value no es igual a una combinación de constantes enumeradas con nombre, se devuelve el equivalente decimal de value .
"X" o "x" Representa value en formato hexadecimal sin un "0x" inicial.
"D" o "d" Representa value en formato decimal.
"F" o "f" Se comporta de forma idéntica a "G" o "g", salvo que FlagsAttribute no es necesario que esté presente en la Enum declaración.

Se aplica a

Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Consulte también