Поделиться через


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 namespace System;
public enum class Colors
{
   Red, Green, Blue, Yellow
};

int 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( Colors::typeid, myColor,  "d" ) );
   Console::WriteLine(  "The hex value of my favorite color is {0}.", Enum::Format( Colors::typeid, myColor,  "x" ) );
}
// The example displays the folowing output:
//    My favorite color is Blue.
//    The value of my favorite color is 2.
//    The hex value of my favorite color is 00000002.
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 .

Формат Описание
"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 .

Применяется к

См. также раздел