Enum.Format(Type, Object, String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Преобразует указанное значение указанного перечисленного типа в эквивалентное строковое представление в соответствии с указанным форматом.
public:
static System::String ^ Format(Type ^ enumType, System::Object ^ value, System::String ^ format);
public static string Format(Type enumType, object value, string format);
[System.Runtime.InteropServices.ComVisible(true)]
public static string Format(Type enumType, object value, string format);
static member Format : Type * obj * string -> string
[<System.Runtime.InteropServices.ComVisible(true)>]
static member Format : Type * obj * string -> string
Public Shared Function Format (enumType As Type, value As Object, format As String) As String
Параметры
- enumType
- Type
Тип перечисления преобразуемого значения.
- value
- Object
Преобразуемое значение .
- format
- String
Формат выходных данных, используемый.
Возвращаемое значение
Строковое представление value.
- Атрибуты
Исключения
Значение enumType, valueили format параметр null.
Параметр enumType не является типом Enum .
–или–
От value перечисления, который отличается от типа enumType.
–или–
Тип value не является базовым типом enumType.
Параметр format содержит недопустимое значение.
format равно "X", но тип перечисления неизвестен.
–или–
.NET 8 и более поздних версий: enumType является логическим типом перечисления.
Примеры
В следующем примере показано использование Format в контексте Enum.
using System;
enum Colors { Red, Green, Blue, Yellow };
public class FormatTest {
public static void Main() {
Colors myColor = Colors.Blue;
Console.WriteLine("My favorite color is {0}.", myColor);
Console.WriteLine("The value of my favorite color is {0}.", Enum.Format(typeof(Colors), myColor, "d"));
Console.WriteLine("The hex value of my favorite color is {0}.", Enum.Format(typeof(Colors), myColor, "x"));
}
}
// The example displays the following output:
// My favorite color is Blue.
// The value of my favorite color is 2.
// The hex value of my favorite color is 00000002.
open System
type Colors =
| Red = 0
| Green = 1
| Blue = 2
| Yellow = 3
let myColor = Colors.Blue
printfn $"My favorite color is {myColor}."
printfn $"""The value of my favorite color is {Enum.Format(typeof<Colors>, myColor, "d")}."""
printfn $"""The hex value of my favorite color is {Enum.Format(typeof<Colors>, myColor, "x")}."""
// The example displays the following output:
// My favorite color is Blue.
// The value of my favorite color is 2.
// The hex value of my favorite color is 00000002.
Enum Colors
Red
Green
Blue
Yellow
End Enum
Public Class FormatTest
Public Shared Sub Main()
Dim myColor As Colors = Colors.Blue
Console.WriteLine("My favorite color is {0}.", myColor)
Console.WriteLine("The value of my favorite color is {0}.", [Enum].Format(GetType(Colors), myColor, "d"))
Console.WriteLine("The hex value of my favorite color is {0}.", [Enum].Format(GetType(Colors), myColor, "x"))
End Sub
End Class
' The example displays the following output:
' My favorite color is Blue.
' The value of my favorite color is 2.
' The hex value of my favorite color is 00000002.
Комментарии
В следующей format таблице показаны допустимые значения параметра.
| Формат | Description |
|---|---|
| "G" или "g" | Если value равно именованной константе, возвращается имя этой константы; в противном случае возвращается десятичный эквивалент value .Например, предположим, что единственная перечисленная константа называется Red, а его значение равно 1. Если value задано значение 1, этот формат возвращает "Red". Однако если value задано значение 2, этот формат возвращает значение "2".–или– FlagsAttribute Если пользовательский атрибут применяется к перечислению, value то обрабатывается как битовое поле, содержащее один или несколько флагов, состоящих из одного или нескольких битов.Если value равно сочетанию именованных констант, возвращается разделенный разделителем список имен этих констант.
value выполняет поиск флагов, переходя от флага с наибольшим значением до наименьшего значения. Для каждого флага, соответствующего битовому полю, valueимя константы объединяется с разделенным разделителем списком. Затем значение этого флага исключается из дальнейшего рассмотрения, и поиск продолжается для следующего флага.Если value сочетание именованных констант не равно, возвращается десятичный эквивалент value . |
| "X" или "x" |
value Представляет в шестнадцатеричном формате без начального "0x". |
| "D" или "d" |
value Представляет десятичную форму. |
| "F" или "f" | Ведет себя одинаково с "G" или "g", за исключением того, что FlagsAttribute не требуется присутствовать в объявлении Enum . |