Enum.Format(Type, Object, String) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 parametresidirnull.
enumType Parametresi bir Enum tür değil.
-veya-
value türünden farklı bir sabit listesidirenumType.
-veya-
türü value , temel alınan bir türü enumTypedeğildir.
format parametresi geçersiz bir değer içeriyor.
format eşittir "X", 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 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 .
| Format | 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 değerinin 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 uygulanmışsa, value bir veya daha fazla bit içeren bir veya daha fazla bayrak içeren bir bit alanı olarak değerlendirilir.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ıyor. 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 arama bir sonraki bayrak için devam eder.Adlandırılmış numaralandırılmış sabitlerin birleşimine eşit değilse value , öğesinin ondalık eşdeğeri value döndürülür. |
| "X" ya da "x" | Baştaki "0x" olmadan onaltılık biçimde temsil eder value . |
| "D" veya "d" | Ondalık biçiminde temsil eder value . |
| "F" ya da "f" | "G" veya "g" ile aynı şekilde davranır, ancak FlagsAttribute bildirimin Enum mevcut olması gerekli değildir. |
Şunlara uygulanır
Ayrıca bkz.
- ToString(String)
- .NET'da
Biçimlendirme Türleri - Numaralandırma Biçim Dizeleri