Wyliczanie ciągów formatujących
Możesz użyć Enum.ToString metody , aby utworzyć nowy obiekt ciągu reprezentujący liczbowy, szesnastkowy lub wartość ciągu elementu członkowskiego wyliczenia. Ta metoda przyjmuje jeden z ciągów formatowania wyliczenia, aby określić wartość, która ma zostać zwrócona.
W poniższych sekcjach wymieniono ciągi formatowania wyliczenia i zwracane wartości. Te specyfikatory formatu nie są uwzględniane wielkości liter.
G lub g
Wyświetla wpis wyliczenia jako wartość ciągu, jeśli to możliwe, a w przeciwnym razie wyświetla wartość całkowitą bieżącego wystąpienia. Jeśli wyliczenie jest zdefiniowane z zestawem FlagsAttribute , wartości ciągów każdego prawidłowego wpisu są łączone razem, rozdzielone przecinkami. Flags
Jeśli atrybut nie jest ustawiony, nieprawidłowa wartość jest wyświetlana jako wpis liczbowy. Poniższy przykład ilustruje G
specyfikator formatu.
Console.WriteLine(((DayOfWeek)7).ToString("G")); // 7
Console.WriteLine(ConsoleColor.Red.ToString("G")); // Red
var attributes = FileAttributes.Hidden | FileAttributes.Archive;
Console.WriteLine(attributes.ToString("G")); // Hidden, Archive
Console.WriteLine((CType(7, DayOfWeek)).ToString("G")) ' 7
Console.WriteLine(ConsoleColor.Red.ToString("G")) ' Red
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
FileAttributes.Archive
Console.WriteLine(attributes.ToString("G")) ' Hidden, Archive
F lub f
Wyświetla wpis wyliczenia jako wartość ciągu, jeśli to możliwe. Jeśli wartość może być wyświetlana jako suma wpisów w wyliczenie (nawet jeśli Flags
atrybut nie jest obecny), wartości ciągów każdego prawidłowego wpisu są łączone razem, oddzielone przecinkami. Jeśli wartość nie może być określona przez wpisy wyliczenia, wartość jest sformatowana jako wartość całkowita. Poniższy przykład ilustruje F
specyfikator formatu.
Console.WriteLine(((DayOfWeek)7).ToString("F")); // Monday, Saturday
Console.WriteLine(ConsoleColor.Blue.ToString("F")); // Blue
var attributes = FileAttributes.Hidden | FileAttributes.Archive;
Console.WriteLine(attributes.ToString("F")); // Hidden, Archive
Console.WriteLine((CType(7, DayOfWeek)).ToString("F")) ' Monday, Saturday
Console.WriteLine(ConsoleColor.Blue.ToString("F")) ' Blue
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
FileAttributes.Archive
Console.WriteLine(attributes.ToString("F")) ' Hidden, Archive
D lub d
Wyświetla wpis wyliczenia jako wartość całkowitą w najkrótszej możliwej reprezentacji. Poniższy przykład ilustruje D
specyfikator formatu.
Console.WriteLine(((DayOfWeek)7).ToString("D")); // 7
Console.WriteLine(ConsoleColor.Cyan.ToString("D")); // 11
var attributes = FileAttributes.Hidden | FileAttributes.Archive;
Console.WriteLine(attributes.ToString("D")); // 34
Console.WriteLine((CType(7, DayOfWeek)).ToString("D")) ' 7
Console.WriteLine(ConsoleColor.Cyan.ToString("D")) ' 11
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
FileAttributes.Archive
Console.WriteLine(attributes.ToString("D")) ' 34
X lub x
Wyświetla wpis wyliczenia jako wartość szesnastkowa. Wartość jest reprezentowana z wiodącymi zerami w razie potrzeby, aby upewnić się, że ciąg wynikowy ma dwa znaki dla każdego bajtu w bazowym typie liczbowym typu wyliczenia. Poniższy przykład ilustruje specyfikator formatu X. W tym przykładzie podstawowe typy DayOfWeek, ConsoleColor i FileAttributes to Int32, lub 32-bitowa (lub 4-bajtowa) liczba całkowita, która generuje 8-znakowy ciąg wynikowy.
Console.WriteLine(((DayOfWeek)7).ToString("X")); // 00000007
Console.WriteLine(ConsoleColor.Cyan.ToString("X")); // 0000000B
var attributes = FileAttributes.Hidden | FileAttributes.Archive;
Console.WriteLine(attributes.ToString("X")); // 00000022
Console.WriteLine((CType(7, DayOfWeek)).ToString("X")) ' 00000007
Console.WriteLine(ConsoleColor.Cyan.ToString("X")) ' 0000000B
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
FileAttributes.Archive
Console.WriteLine(attributes.ToString("X")) ' 00000022
Przykład
W poniższym przykładzie zdefiniowano wyliczenie o nazwie Colors
, które składa się z trzech wpisów: Red
, Blue
i Green
.
public enum Color { Red = 1, Blue = 2, Green = 3 };
Public Enum Color
Red = 1
Blue = 2
Green = 3
End Enum
Po zdefiniowaniu wyliczenia można zadeklarować wystąpienie w następujący sposób.
Color myColor = Color.Green;
Dim myColor As Color = Color.Green
Color.ToString(System.String)
Następnie można użyć metody do wyświetlenia wartości wyliczenia na różne sposoby, w zależności od specyfikatora formatu przekazanego do niego.
Console.WriteLine("The value of myColor is {0}.",
myColor.ToString("G"));
Console.WriteLine("The value of myColor is {0}.",
myColor.ToString("F"));
Console.WriteLine("The value of myColor is {0}.",
myColor.ToString("D"));
Console.WriteLine("The value of myColor is 0x{0}.",
myColor.ToString("X"));
// The example displays the following output to the console:
// The value of myColor is Green.
// The value of myColor is Green.
// The value of myColor is 3.
// The value of myColor is 0x00000003.
Console.WriteLine("The value of myColor is {0}.", _
myColor.ToString("G"))
Console.WriteLine("The value of myColor is {0}.", _
myColor.ToString("F"))
Console.WriteLine("The value of myColor is {0}.", _
myColor.ToString("D"))
Console.WriteLine("The value of myColor is 0x{0}.", _
myColor.ToString("X"))
' The example displays the following output to the console:
' The value of myColor is Green.
' The value of myColor is Green.
' The value of myColor is 3.
' The value of myColor is 0x00000003.