Enum.Format(Type, Object, String) Yöntem

Tanım

Belirtilen numaralandırılmış türün belirtilen değerini belirtilen biçime göre eşdeğer dize gösterimine dönüştürür.

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

Parametreler

enumType
Type

Dönüştürülecek değerin numaralandırma türü.

value
Object

Dönüştürülecek değer.

format
String

Kullanılacak çıkış biçimi.

Döndürülenler

dize gösterimi value.

Öznitelikler

Özel durumlar

enumType, valueveya format parametresi şeklindedirnull.

enumType Parametresi bir Enum tür değil.

-veya-

value türünden farklı bir sabit listesidirenumType.

-veya-

türü value , temel alınan enumTypetürü değildir.

format parametresi geçersiz bir değer içeriyor.

format "X" değerine eşittir, ancak numaralandırma türü bilinmiyor.

-veya-

.NET 8 ve sonraki sürümleri: enumType Boole destekli bir numaralandırma türüdür.

Örnekler

Aşağıdaki örnekte, bağlamında kullanımı Format gösterilmektedir 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.

Açıklamalar

Aşağıdaki tabloda parametresi için geçerli değerler gösterilmektedir format .

Biçimlendir Açıklama
"G" ya da "g" Adlandırılmış bir numaralandırılmış sabite eşitse value , bu sabitin adı döndürülür; aksi takdirde ondalık eşdeğeri value döndürülür.

Örneğin, tek numaralandırılmış sabitin Kırmızı olarak adlandırılıp değerinin 1 olduğunu varsayalım. 1 olarak belirtilirse value , bu biçim "Kırmızı" döndürür. Ancak, 2 olarak belirtilirse value , bu biçim "2" döndürür.

-veya-

FlagsAttribute Özel öznitelik numaralandırmaya uygulanırsa, value bir veya daha fazla bit içeren bir veya daha fazla bayrak içeren bir bit alanı olarak kabul edilir.

Adlandırılmış numaralandırılmış sabitlerin birleşimine eşitse value , bu sabitlerin adlarının sınırlayıcıyla ayrılmış listesi döndürülür. value , en büyük değere sahip bayraktan en küçük değere giden bayraklar için aranır. içindeki valuebit alanına karşılık gelen her bayrak için, sabitin adı sınırlayıcıyla ayrılmış listeyle birleştirilir. Bu bayrağın değeri daha sonra dikkate alınmaz ve bir sonraki bayrak için arama devam eder.

Adlandırılmış numaralandırılmış sabitlerin birleşimine eşit değilse value , ondalık eşdeğeri value döndürülür.
"X" ya da "x" Başında "0x" olmadan onaltılık biçimde temsil eder value .
"D" veya "d" Ondalık biçiminde temsil eder value .
"F" ya da "f" bildiriminde Enum bulunması gerekmemesi FlagsAttribute dışında "G" veya "g" ile aynı şekilde davranır.

Şunlara uygulanır

Ayrıca bkz.