Enum.Format(Type, Object, String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
, value
lub 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 value nazwa 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 . |