Строки форматов перечисленияEnumeration format strings

Метод Enum.ToString можно использовать для создания новой строки, представляющей числовое, шестнадцатеричное или строковое значение элемента перечисления.You can use the Enum.ToString method to create a new string object that represents the numeric, hexadecimal, or string value of an enumeration member. Этот метод принимает строку формата перечисления, чтобы задать возвращаемое значение.This method takes one of the enumeration formatting strings to specify the value that you want returned.

В следующей таблице приведены строки форматов перечисления и возвращаемые методом значения.The following sections list the enumeration formatting strings and the values they return. Описатели формата не учитывают регистр.These format specifiers are not case-sensitive.

G или gG or g

Отображает перечисление в виде строкового значения, если это возможно. В противном случае отображает целочисленное значение текущего экземпляра.Displays the enumeration entry as a string value, if possible, and otherwise displays the integer value of the current instance. Если для перечисления задан атрибут Flags, строковые значения всех допустимых записей объединяются с запятой в качестве разделителя.If the enumeration is defined with the Flags attribute set, the string values of each valid entry are concatenated together, separated by commas. Если атрибут Flags не задан, в виде числовой записи отображается недопустимое значение.If the Flags attribute is not set, an invalid value is displayed as a numeric entry. В следующем примере показан описатель формата G.The following example illustrates the G format specifier.

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 или fF or f

Отображает перечисление в виде строкового значения, если это возможно.Displays the enumeration entry as a string value, if possible. Если перечисление полностью можно отобразить в виде строки как совокупность всех элементов перечисления (даже если атрибут Flags не задан), то строковые значения всех действительных записей объединяются с запятой в качестве разделителя.If the value can be completely displayed as a summation of the entries in the enumeration (even if the Flags attribute is not present), the string values of each valid entry are concatenated together, separated by commas. Если значение не может быть определено по записям перечисления, то значение форматируется аналогично целому типу.If the value cannot be completely determined by the enumeration entries, then the value is formatted as the integer value. В следующем примере показан описатель формата F.The following example illustrates the F format specifier.

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 или dD or d

Отображает запись перечисления в кратчайшем целочисленном представлении.Displays the enumeration entry as an integer value in the shortest representation possible. В следующем примере показан описатель формата D.The following example illustrates the D format specifier.

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 или xX or x

Отображает элемент перечисления в виде шестнадцатеричного значения.Displays the enumeration entry as a hexadecimal value. Значение представлено с обязательным начальным нулем, чтобы обеспечить в строке результата наличие двух символов для каждого байта в базовом числовом типе, который принадлежит к типу перечисления.The value is represented with leading zeros as necessary, to ensure that the result string has two characters for each byte in the enumeration type's underlying numeric type. В следующем примере показан описатель формата X.The following example illustrates the X format specifier. В примере ConsoleColor и FileAttributes имеют базовый тип Int32 (32-разрядное (4-байтовое) целое число), который выводит 8-символьную строку результата.In the example, the underlying type of both ConsoleColor and FileAttributes is Int32, or a 32-bit (or 4-byte) integer, which produces an 8-character result string.

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                               

ПримерExample

В следующем примере определяется перечисление с именем Colors, состоящее из трех элементов: Red, Blue и Green.The following example defines an enumeration called Colors that consists of three entries: Red, Blue, and Green.

public enum Color {Red = 1, Blue = 2, Green = 3}
Public Enum Color
   Red = 1
   Blue = 2
   Green = 3
End Enum

После определения перечисления может быть объявлен, как показано далее.After the enumeration is defined, an instance can be declared in the following manner.

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

Затем метод Color.ToString(System.String) можно использовать для отображения значений перечисления различными способами в зависимости от переданного описателя формата.The Color.ToString(System.String) method can then be used to display the enumeration value in different ways, depending on the format specifier passed to it.

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.      

См. такжеSee also