Wyliczanie ciągów formatujących

Za pomocą metody można Enum.ToString utworzyć nowy obiekt ciągu reprezentujący wartość liczbową, szesnastkową lub ciągową członka 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 przedstawiono ciągi formatowania wyliczenia i zwracane przez nie wartości. Te specyfikatory formatu nie są wrażliwe na wielkość 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 za pomocą flagi zestaw atrybutu, wartości ciągu każdego prawidłowego wpisu są połączone, oddzielone przecinkami. Jeśli atrybut Flags nie jest ustawiony, nieprawidłowa wartość jest wyświetlana jako wpis liczbowy. W poniższym przykładzie pokazano 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 wyliczeniu (nawet jeśli atrybut Flags nie istnieje), wartości ciągu każdego prawidłowego wpisu są połączone, rozdzielane przecinkami. Jeśli wartość nie może zostać całkowicie określona przez wpisy wyliczenia, wartość jest formatowana jako wartość całkowita. W poniższym przykładzie pokazano 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. W poniższym przykładzie pokazano 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ść szesnastkową. 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. W poniższym przykładzie pokazano specyfikator formatu X. W tym przykładzie ConsoleColorFileAttributesInt32bazowym typem obu typów jest , lub 32-bitowa (lub 4-bajtowa) liczba całkowita, która tworzy 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 Colors nazwie , 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 zdefiniowanym wyliczeniu wystąpienie można zadeklarować w następujący sposób.

Color myColor = Color.Green;
Dim myColor As Color = Color.Green

Następnie Color.ToString(System.String) metoda może służyć do wyświetlania wartości wyliczenia na różne sposoby, w zależności od przekazanego 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ż