Enum.Format(Type, Object, String) Metod

Definition

Konverterar det angivna värdet för en angiven uppräkningstyp till motsvarande strängrepresentation enligt det angivna formatet.

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

Parametrar

enumType
Type

Uppräkningstypen för det värde som ska konverteras.

value
Object

Värdet som ska konverteras.

format
String

Utdataformatet som ska användas.

Returer

En strängrepresentation av value.

Attribut

Undantag

Parametern enumType, valueeller format är null.

Parametern enumType är inte en Enum typ.

-eller-

value är från en uppräkning som skiljer sig i typ från enumType.

-eller-

Typen av value är inte en underliggande typ av enumType.

Parametern format innehåller ett ogiltigt värde.

format är lika med "X", men uppräkningstypen är okänd.

-eller-

.NET 8 och senare versioner: enumType är en boolesk uppräkningstyp.

Exempel

I följande exempel visas användningen av Format i kontexten Enumför .

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.

Kommentarer

I följande tabell visas giltiga värden för parametern format .

Format Description
"G" eller "g" Om value är lika med en namngiven uppräknad konstant returneras namnet på den konstanten. Annars returneras decimalmotsvarigheten value för.

Anta till exempel att den enda uppräknade konstanten heter Röd och att dess värde är 1. Om value anges som 1 returnerar det här formatet "Red". Men om value anges som 2 returnerar det här formatet "2".

-eller-

Om det FlagsAttribute anpassade attributet tillämpas på uppräkningen value behandlas som ett bitfält som innehåller en eller flera flaggor som består av en eller flera bitar.

Om value är lika med en kombination av namngivna uppräknade konstanter returneras en avgränsareavgränsad lista över namnen på dessa konstanter. value söks efter flaggor som går från flaggan med det största värdet till det minsta värdet. För varje flagga som motsvarar ett bitfält i valuesammanfogas namnet på konstanten till listan avgränsare. Värdet för den flaggan undantas sedan från ytterligare övervägande och sökningen fortsätter efter nästa flagga.

Om value inte är lika med en kombination av namngivna uppräknade konstanter returneras decimalmotsvarigheten value för.
"X" eller "x" Representerar value i hexadecimalt format utan inledande "0x".
"D" eller "d" Representerar value i decimalform.
"F" eller "f" Beter sig identiskt med "G" eller "g", förutom att det FlagsAttribute inte krävs för att finnas i deklarationen Enum .

Gäller för

Se även