Enum.Format(Type, Object, String) Methode

Definition

Wandelt den angegebenen Wert eines angegebenen Aufzählungstyps in die entsprechende Zeichenfolgendarstellung gemäß dem angegebenen Format um.

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

Parameter

enumType
Type

Der Enumerationstyp des zu konvertierenden Werts.

value
Object

Der zu konvertierende Wert.

format
String

Das zu verwendende Ausgabeformat.

Gibt zurück

Eine Zeichenfolgendarstellung von value.

Attribute

Ausnahmen

Der enumType, value, oder format Parameter ist null.

Der enumType Parameter ist kein Enum Typ.

-oder-

Dies value ist eine Aufzählung, die sich vom Typ enumTypeunterscheidet.

-oder-

Der Typ von value ist kein zugrunde liegender Typ von enumType.

Der format Parameter enthält einen ungültigen Wert.

format entspricht "X", aber der Enumerationstyp ist unbekannt.

-oder-

.NET 8 und neueren Versionen: enumType ist ein boolescher Enumerationstyp.

Beispiele

Das folgende Beispiel veranschaulicht die Verwendung Format im Kontext von 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.

Hinweise

In der folgenden Tabelle sind die gültigen Werte für den format Parameter aufgeführt.

Format Description
"G" oder "g" Wenn value sie einer benannten Aufzählungskonstante entspricht, wird der Name dieser Konstante zurückgegeben. Andernfalls wird das Dezimaläquivalent value zurückgegeben.

Angenommen, die einzige aufgezählte Konstante heißt Rot, und der Wert ist 1. Wenn value als 1 angegeben wird, gibt dieses Format "Rot" zurück. Wenn value jedoch als 2 angegeben wird, gibt dieses Format "2" zurück.

-oder-

Wenn das FlagsAttribute benutzerdefinierte Attribut auf die Aufzählung angewendet wird, wird als Bitfeld behandelt, value das ein oder mehrere Flags enthält, die aus mindestens einem Bit bestehen.

Entspricht value einer Kombination von benannten aufgezählten Konstanten, wird eine durch Trennzeichen getrennte Liste der Namen dieser Konstanten zurückgegeben. value wird nach Flags gesucht, die vom Flag mit dem größten Wert zum kleinsten Wert wechseln. Für jedes Flag, das einem Bitfeld in valueentspricht, wird der Name der Konstante mit der durch Trennzeichen getrennten Liste verkettet. Der Wert dieses Kennzeichens wird dann von weiteren Überlegungen ausgeschlossen, und die Suche wird für die nächste Kennzeichnung fortgesetzt.

Wenn value eine Kombination von benannten Aufzählungskonstanten nicht gleich ist, wird das Dezimaläquivalent value zurückgegeben.
"X" oder "x" Stellt im hexadezimalen value Format ohne führendes "0x" dar.
"D" oder "d" value Stellt in dezimaler Form dar.
"F" oder "f" Verhält sich identisch mit "G" oder "g", mit der Ausnahme, dass die FlagsAttribute Deklaration nicht vorhanden Enum sein muss.

Gilt für:

Weitere Informationen