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ę typem 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 i nowsze wersje: enumType jest typem wyliczenia opartego na wartości logicznej.

Przykłady

W poniższym przykładzie pokazano użycie elementu Format w kontekście elementu 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.

Uwagi

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

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

Załóżmy na przykład, że jedyną wyliczeniową stałą ma nazwę Czerwony, 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 Element jest wyszukiwany pod kątem flag, przechodząc od flagi z największą 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 w formacie szesnastkowym bez wiodącego ciągu "0x".
„D” lub „d” Reprezentuje value w postaci dziesiętnej.
„F” lub „f” Zachowuje się identycznie z "G" lub "g", z tą różnicą, że FlagsAttribute nie jest wymagana obecność w deklaracji Enum .

Dotyczy

Zobacz też