Partage via


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

Définition

Convertit la valeur spécifiée d'un type énuméré spécifié en sa représentation sous forme de chaîne équivalente conformément au format spécifié.

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

Paramètres

enumType
Type

Type d’énumération de la valeur à convertir.

value
Object

Valeur à convertir.

format
String

Format de sortie à utiliser.

Retours

Représentation sous forme de chaîne de value.

Attributs

Exceptions

Le paramètre enumType, value ou format est null.

Le paramètre enumType n'est pas un type Enum.

- ou -

Le value provient d’une énumération de type différent de enumType.

- ou -

Le type de value n’est pas un type sous-jacent de enumType.

Le paramètre format contient une valeur non valide.

format égale "X", mais le type d'énumération est inconnu.

-ou-

.NET 8 et versions ultérieures : enumType est un type d’énumération booléen.

Exemples

L’exemple suivant illustre l’utilisation de Format dans le contexte 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.

Remarques

Le tableau suivant montre les valeurs valides pour le format paramètre.

Format Description
"G" ou "g" Si value est égal à une constante énumérée nommée, le nom de cette constante est retourné ; sinon, l’équivalent décimal de value est retourné.

Par exemple, supposons que la seule constante énumérée se nomme Red et que sa valeur est 1. Si value est spécifié comme 1, ce format retourne « Red ». Toutefois, si value est spécifié comme 2, ce format retourne « 2 ».

- ou -

Si l’attribut FlagsAttribute personnalisé est appliqué à l’énumération, value est traité comme un champ bit qui contient un ou plusieurs indicateurs constitués d’un ou plusieurs bits.

Si value est égal à une combinaison de constantes énumérées nommées, une liste séparée par un délimiteur des noms de ces constantes est retournée. value est recherché pour les indicateurs, passant de l’indicateur ayant la plus grande valeur à la plus petite valeur. Pour chaque indicateur qui correspond à un champ bit dans value, le nom de la constante est concaténé à la liste séparée par le délimiteur. La valeur de cet indicateur est ensuite exclue d’un examen plus approfondi et la recherche continue pour l’indicateur suivant.

Si value n’est pas égal à une combinaison de constantes énumérées nommées, l’équivalent décimal de value est retourné.
"X" ou "x" Représente value au format hexadécimal sans « 0x » de début.
"D" ou "d" Représente value sous forme décimale.
"F" ou "f" Se comporte de manière identique à « G » ou « g », sauf que le FlagsAttribute n’est pas obligatoire pour être présent sur la Enum déclaration.

S’applique à

Voir aussi