Partilhar via


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

Definição

Converte o valor especificado de um tipo enumerado especificado em sua representação de cadeia de caracteres equivalente 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 ser convertido.

value
Object

O valor a ser convertido.

format
String

O formato de saída a ser usado.

Retornos

Uma representação da cadeia de caracteres de value.

Atributos

Exceções

O parâmetro enumType, value ou format é null.

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

- ou -

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

- ou -

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

O parâmetro format 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 com suporte booliano.

Exemplos

O exemplo a seguir ilustra o uso de Format no contexto de Enum.

using namespace System;
public enum class Colors
{
   Red, Green, Blue, Yellow
};

int 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( Colors::typeid, myColor,  "d" ) );
   Console::WriteLine(  "The hex value of my favorite color is {0}.", Enum::Format( Colors::typeid, myColor,  "x" ) );
}
// The example displays the folowing output:
//    My favorite color is Blue.
//    The value of my favorite color is 2.
//    The hex value of my favorite color is 00000002.
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.

Comentários

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

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

Por exemplo, suponha que a única constante enumerada seja chamada de Vermelho e seu valor seja 1. Se value for especificado como 1, esse formato retornará "Vermelho". No entanto, se value for especificado como 2, esse formato retornará "2".

- ou -

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

Se value for igual a uma combinação de constantes enumeradas nomeadas, uma lista separada por delimitadores dos nomes dessas constantes será retornada. value é pesquisado por sinalizadores, indo do sinalizador com o maior valor para o menor valor. Para cada sinalizador que corresponde a um campo de bits em value, o nome da constante é concatenado à lista separada por delimitador. O valor desse sinalizador é então excluído da consideração adicional e a pesquisa continua para o próximo sinalizador.

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

Aplica-se a

Confira também