Wyliczanie ciągów formatujących

Możesz użyć Enum.ToString metody , aby utworzyć nowy obiekt ciągu, który reprezentuje wartość liczbową, szesnastkowa lub ciągową 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 atrybutów Flags , wartości ciągów każdego prawidłowego wpisu są łączone razem, rozdzielone przecinkami. Jeśli atrybut Flags nie jest ustawiony, nieprawidłowa wartość jest wyświetlana jako wpis liczbowy. Poniższy przykład ilustruje specyfikator formatu G.

Console.WriteLine(ConsoleColor.Red.ToString("G"));         // Displays Red
FileAttributes attributes = FileAttributes.Hidden |
                            FileAttributes.Archive;
Console.WriteLine(attributes.ToString("G"));   // Displays Hidden, Archive
Console.WriteLine(ConsoleColor.Red.ToString("G"))           ' Displays Red
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
                                   FileAttributes.Archive
Console.WriteLine(attributes.ToString("G"))     ' Displays Hidden, Archive                               

F lub f

Wyświetla wpis wyliczenia jako wartość ciągu, jeśli to możliwe. Jeśli wartość może być całkowicie wyświetlana jako suma wpisów w wyliczenie (nawet jeśli atrybut Flags nie jest obecny), wartości ciągu każdego prawidłowego wpisu są łączone razem, rozdzielone przecinkami. Jeśli wartość nie może być całkowicie określona przez wpisy wyliczenia, wartość jest formatowana jako wartość całkowita. Poniższy przykład ilustruje specyfikator formatu F.

Console.WriteLine(ConsoleColor.Blue.ToString("F"));       // Displays Blue
FileAttributes attributes = FileAttributes.Hidden |
                            FileAttributes.Archive;
Console.WriteLine(attributes.ToString("F"));   // Displays Hidden, Archive
Console.WriteLine(ConsoleColor.Blue.ToString("F"))         ' Displays Blue
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
                                   FileAttributes.Archive
Console.WriteLine(attributes.ToString("F"))     ' Displays Hidden, Archive                               

D lub d

Wyświetla wpis wyliczenia jako wartość całkowitą w najkrótszej możliwej reprezentacji. Poniższy przykład ilustruje specyfikator formatu D.

Console.WriteLine(ConsoleColor.Cyan.ToString("D"));         // Displays 11
FileAttributes attributes = FileAttributes.Hidden |
                            FileAttributes.Archive;
Console.WriteLine(attributes.ToString("D"));                // Displays 34
Console.WriteLine(ConsoleColor.Cyan.ToString("D"))           ' Displays 11
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
                                   FileAttributes.Archive
Console.WriteLine(attributes.ToString("D"))                  ' Displays 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 podstawowym typie liczbowym typu wyliczenia. Poniższy przykład ilustruje specyfikator formatu X. W tym przykładzie podstawowy typ i ConsoleColorFileAttributes to Int32, lub 32-bitowa (lub 4-bajtowa) liczba całkowita, która generuje 8-znakowy ciąg wynikowy.

Console.WriteLine(ConsoleColor.Cyan.ToString("X"));   // Displays 0000000B
FileAttributes attributes = FileAttributes.Hidden |
                            FileAttributes.Archive;
Console.WriteLine(attributes.ToString("X"));          // Displays 00000022
Console.WriteLine(ConsoleColor.Cyan.ToString("X"))     ' Displays 0000000B
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
                                   FileAttributes.Archive
Console.WriteLine(attributes.ToString("X"))            ' Displays 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 wystąpienie można zadeklarować 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 przekazanego do niego specyfikatora formatu.

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ż