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

Обновлен: Ноябрь 2007

Можно использовать метод Enum.ToString для создания новой строки, представляющей числовое, шестнадцатеричное или строковое значение элемента перечисления. Этот метод принимает строку формата перечисления, чтобы задать возвращаемое значение.

В следующей таблице приведены строки форматов перечисления и возвращаемые методом значения. Спецификаторы формата не учитывают регистр.

Строка формата

Результат

G или g

Отображает перечисление в виде строки, если это возможно. В противном случае отображает целочисленное значение текущего экземпляра. Если для перечисления задан атрибут Flags, то строковые значения всех записей соединяются (в качестве разделителя используется запятая). Если атрибут Flags не установлен, то неверное значение отображается в виде числовых записей. В следующем примере показан спецификатор формата G.

F или f

Отображает перечисление в виде строки, если это возможно. Если перечисление полностью можно отобразить в виде строки как совокупность всех элементов перечисления (даже если атрибут Flags не задан), то строковые значения всех действительных записей соединяются (в качестве разделителя используется запятая). Если значение не может быть определено по записям перечисления, то значение форматируется аналогично целому типу. В следующем примере показан спецификатор формата F.

D или d

Запись перечисления отображается в кратчайшем целочисленном представлении. В следующем примере показан спецификатор формата D.

X или x

Отображает перечисление в виде шестнадцатеричного значения. При необходимости значение дополняется начальными пробелами, чтобы оно состояло как минимум из восьми знаков. В следующем примере показан спецификатор формата X.

Пример

В следующем примере определяется перечисление с именем Colors, состоящее из трех элементов: Red, Blue и Green.

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

После определения перечисления объявляется экземпляр.

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

Затем метод Color.ToString(System.String) можно использовать для отображения значений перечисления различными способами в зависимости от переданного спецификатора формата.

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.      

См. также

Другие ресурсы

Типы форматирования