Condividi tramite


Enum.Format(Type, Object, String) Metodo

Definizione

Converte il valore specificato di un determinato tipo enumerato nella rappresentazione di stringa equivalente, secondo il formato specificato.

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

Parametri

enumType
Type

Tipo di enumerazione del valore da convertire.

value
Object

Valore da convertire.

format
String

Formato di output da usare.

Restituisce

Rappresentazione di stringa di value.

Attributi

Eccezioni

Il parametro enumType, value o format è null.

Il parametro enumType non è un tipo Enum.

-oppure-

Il parametro value deriva da un'enumerazione con un tipo differente rispetto a enumType.

-oppure-

Il tipo di value non è un tipo sottostante di enumType.

Il parametro format contiene un valore non valido.

format è uguale a "X", ma il tipo di enumerazione è sconosciuto.

-oppure-

.NET 8 e versioni successive: enumType è un tipo di enumerazione con supporto booleano.

Esempio

Nell'esempio seguente viene illustrato l'uso di Format nel contesto di 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.

Commenti

La tabella seguente illustra i valori validi per il format parametro .

Formato Descrizione
"G" o "g" Se value è uguale a una costante enumerata denominata, viene restituito il nome della costante; in caso contrario, viene restituito l'equivalente decimale di value .

Si supponga, ad esempio, che l'unica costante enumerata sia denominata Red e che il relativo valore sia 1. Se value è specificato come 1, questo formato restituisce "Rosso". Tuttavia, se value è specificato come 2, questo formato restituisce "2".

-oppure-

Se l'attributo FlagsAttribute personalizzato viene applicato all'enumerazione , value viene considerato come un campo di bit che contiene uno o più flag costituiti da uno o più bit.

Se value è uguale a una combinazione di costanti enumerate denominate, viene restituito un elenco delimitatore separato dai nomi di tali costanti. value viene eseguita la ricerca di flag, passando dal flag con il valore più grande al valore più piccolo. Per ogni flag che corrisponde a un campo di bit in value, il nome della costante viene concatenato all'elenco delimitatore separato. Il valore di tale flag viene quindi escluso da altre considerazioni e la ricerca continua per il flag successivo.

Se value non è uguale a una combinazione di costanti enumerate denominate, viene restituito l'equivalente decimale di value .
"X" o "x" Rappresenta value in formato esadecimale senza un "0x" iniziale.
"D" o "d" Rappresenta value in forma decimale.
"F" o "f" Si comporta in modo identico a "G" o "g", ad eccezione del fatto che non è necessario che sia FlagsAttribute presente nella Enum dichiarazione.

Si applica a

Vedi anche