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, Bluei 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.      

Zobacz też