Enum.Format(Type, Object, String) Metoda

Definice

Převede zadanou hodnotu zadaného výčtového typu na ekvivalentní řetězcové vyjádření podle zadaného formátu.

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

Parametry

enumType
Type

Typ výčtu hodnoty, kterou chcete převést.

value
Object

Hodnota, kterou chcete převést.

format
String

Výstupní formát, který se má použít.

Návraty

Řetězcová reprezentace value.

Atributy

Výjimky

Parametr enumType, valuenebo format je null.

Parametr enumType není typem Enum .

nebo

Je value z výčtu, který se liší v typu od enumType.

nebo

Typ value není podkladovým typem enumType.

Parametr format obsahuje neplatnou hodnotu.

format rovná se "X", ale typ výčtu je neznámý.

nebo

.NET 8 a novějších verzích: enumType je logický typ výčtu.

Příklady

Následující příklad ilustruje použití Format v kontextu 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.

Poznámky

V následující tabulce jsou uvedeny platné hodnoty parametru format .

Formát Description
"G" nebo "g" Pokud value se rovná pojmenované výčtové konstantě, vrátí se název této konstanty. V opačném případě se vrátí desítkový ekvivalent value .

Předpokládejme například, že jediná výčtová konstanta má název Red a její hodnota je 1. Pokud value je zadán jako 1, vrátí tento formát hodnotu "Red". Pokud value je však zadán jako 2, vrátí tento formát hodnotu "2".

nebo

Pokud je FlagsAttribute u výčtu použit vlastní atribut, value považuje se za bitové pole, které obsahuje jeden nebo více příznaků, které se skládají z jednoho nebo více bitů.

Pokud value se rovná kombinaci pojmenovaných výčtových konstant, vrátí se seznam názvů těchto konstant oddělený oddělovačem. value vyhledá se příznaky, které se přejdou z příznaku s největší hodnotou na nejmenší hodnotu. Pro každý příznak, který odpovídá bitové pole v value, název konstanty je zřetězen se seznamem odděleným oddělovačem. Hodnota tohoto příznaku je pak vyloučena z dalšího zvážení a hledání bude pokračovat dalším příznakem.

Pokud value se nerovná kombinaci pojmenovaných výčtových konstant, vrátí se desítkový ekvivalent value .
"X" nebo "x" Představuje value v šestnáctkovém formátu bez úvodního "0x".
"D" nebo "d" Představuje value v desítkové podobě.
"F" nebo "f" Chová se stejně jako "G" nebo "g", s tím rozdílem, že FlagsAttribute není nutné, aby byla k deklaraci přítomna Enum .

Platí pro

Viz také