Enum.Format(Type, Object, String) Metoda

Definicja

Konwertuje określoną wartość określonego typu wyliczonego na równoważną reprezentację ciągu zgodnie z określonym formatem.

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 wyliczenia wartości do przekonwertowania.

value
Object

Wartość do konwersji.

format
String

Format danych wyjściowych do użycia.

Zwraca

Reprezentacja ciągu .value

Atrybuty

Wyjątki

Parametr enumType, valuelub format ma wartość null.

Parametr enumType nie jest typem Enum .

— lub —

Element value pochodzi z wyliczenia, które różni się w typie od enumType.

— lub —

Typ nie value jest podstawowym typem enumType.

Parametr format zawiera nieprawidłową wartość.

format równa się "X", ale typ wyliczenia jest nieznany.

— lub —

.NET 8 lub nowszych wersji: enumType jest typem wyliczania opartego na wartości logicznej.

Przykłady

Poniższy przykład ilustruje użycie elementu Format w kontekście Enumelementu .

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.

Uwagi

W poniższej tabeli przedstawiono prawidłowe wartości parametru format .

Format Opis
„G” lub „g” Jeśli value jest równa nazwie wyliczonej stałej, zwracana jest nazwa tej stałej. W przeciwnym razie zwracany jest odpowiednik value dziesiętny.

Załóżmy na przykład, że jedyna wyliczona stała nosi nazwę Red, a jej wartość to 1. Jeśli value zostanie określony jako 1, ten format zwraca wartość "Czerwony". Jeśli value jednak zostanie określony jako 2, ten format zwraca wartość "2".

— lub —

FlagsAttribute Jeśli atrybut niestandardowy jest stosowany do wyliczenia, value jest traktowany jako pole bitowe zawierające co najmniej jedną flagę składającą się z co najmniej jednego bitu.

Jeśli value jest równa kombinacji nazwanych stałych wyliczanych, zwracana jest rozdzielona ogranicznikami lista nazw tych stałych. value Jest wyszukiwany pod kątem flag, przechodząc z flagi o największej wartości do najmniejszej wartości. Dla każdej flagi odpowiadającej bitowemu polu w programie valuenazwa stałej jest połączona z listą rozdzielaną ogranicznikami. Wartość tej flagi jest następnie wykluczona z dalszej uwagi, a wyszukiwanie będzie kontynuowane pod kątem następnej flagi.

Jeśli value nie jest równa kombinacji nazwanych stałych wyliczanych, zwracany jest odpowiednik value dziesiętny.
„X” lub „x” Reprezentuje value format szesnastkowy bez wiodącego ciągu "0x".
„D” lub „d” Reprezentuje value w postaci dziesiętnej.
„F” lub „f” Zachowuje się identycznie jak "G" lub "g", z tą różnicą, że FlagsAttribute nie jest wymagany do obecności w deklaracji Enum .

Dotyczy

Zobacz też