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

Definição

Converte o valor especificado de um tipo enumerado especificado para a sua representação equivalente de cadeias de acordo com o formato especificado.

public:
 static System::String ^ Format(Type ^ enumType, System::Object ^ value, System::String ^ format);
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);
static member Format : Type * obj * string -> string
[<System.Runtime.InteropServices.ComVisible(true)>]
static member Format : Type * obj * string -> string
Public Shared Function Format (enumType As Type, value As Object, format As String) As String

Parâmetros

enumType
Type

O tipo de enumeração do valor a converter.

value
Object

O valor a converter.

format
String

O formato de saída a usar.

Devoluções

Uma representação de cadeias de value.

Atributos

Exceções

O enumType, , ou value parâmetro é formatnull.

O enumType parâmetro não é um Enum tipo.

-ou-

O value é de uma enumeração que difere em tipo de enumType.

-ou-

O tipo de value não é um tipo subjacente de enumType.

O format parâmetro contém um valor inválido.

format é igual a "X", mas o tipo de enumeração é desconhecido.

-ou-

.NET 8 e versões posteriores: enumType é um tipo de enumeração suportado por Boole.

Exemplos

O exemplo seguinte ilustra o uso de Format no 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.
open System

type Colors =
    | Red = 0
    | Green = 1
    | Blue = 2
    | Yellow = 3

let myColor = Colors.Blue

printfn $"My favorite color is {myColor}."
printfn $"""The value of my favorite color is {Enum.Format(typeof<Colors>, myColor, "d")}."""
printfn $"""The hex value of my favorite color is {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.
 Enum Colors
     Red
     Green
     Blue
     Yellow    
 End Enum
    
Public Class FormatTest
    Public Shared Sub Main()
        Dim myColor As Colors = Colors.Blue
        
        Console.WriteLine("My favorite color is {0}.", myColor)
        Console.WriteLine("The value of my favorite color is {0}.", [Enum].Format(GetType(Colors), myColor, "d"))
        Console.WriteLine("The hex value of my favorite color is {0}.", [Enum].Format(GetType(Colors), myColor, "x"))
    End Sub 
End Class 
' 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.

Observações

A tabela seguinte mostra os valores válidos para o format parâmetro.

Formato Descrição
"G" ou "g" Se value for igual a uma constante enumerada nomeada, o nome dessa constante é devolvido; caso contrário, o equivalente decimal de value é devolvido.

Por exemplo, suponha que a única constante enumerada se chama Red, e o seu valor é 1. Se value for especificado como 1, este formato devolve "Vermelho". No entanto, se value for especificado como 2, este formato devolve "2".

-ou-

Se o FlagsAttribute atributo personalizado for aplicado à enumeração, value é tratado como um campo de bits que contém uma ou mais flags que consistem em um ou mais bits.

Se value for igual a uma combinação de constantes enumeradas nomeadas, é devolvida uma lista separada dos delimitadores com os nomes dessas constantes. value é pesquisado por bandeiras, indo da bandeira com o maior valor para o menor valor. Para cada flag que corresponde a um campo de bits em value, o nome da constante é concatenado à lista separada por delimitador. O valor dessa bandeira é então excluído de consideração adicional, e a busca pela próxima bandeira continua.

Se value não for igual a uma combinação de constantes enumeradas nomeadas, o equivalente decimal de value é devolvido.
"X" ou "x" Representa value em formato hexadecimal sem um "0x" inicial.
"D" ou "d" Representa value em forma decimal.
"F" ou "f" Comporta-se de forma idêntica a "G" ou "g", exceto que não FlagsAttribute é obrigado a estar presente na Enum declaração.

Aplica-se a

Ver também