Enum.Format(Type, Object, String) Enum.Format(Type, Object, String) Enum.Format(Type, Object, String) Enum.Format(Type, Object, String) Method

定義

指定した形式に従って、指定した列挙型の指定した値をそれと等価の文字列形式に変換します。Converts the specified value of a specified enumerated type to its equivalent string representation according to the specified format.

public:
 static System::String ^ Format(Type ^ enumType, System::Object ^ value, System::String ^ format);
[System.Runtime.InteropServices.ComVisible(true)]
public static string Format (Type enumType, object value, string format);
static member Format : Type * obj * string -> string
Public Shared Function Format (enumType As Type, value As Object, format As String) As String

パラメーター

enumType
Type Type Type Type

変換する値の列挙型。The enumeration type of the value to convert.

value
Object Object Object Object

変換する値。The value to convert.

format
String String String String

使用する出力形式。The output format to use.

戻り値

value の文字列形式。A string representation of value.

例外

enumTypevalue、または format パラメーターが nullです。The enumType, value, or format parameter is null.

enumType パラメーターが Enum 型ではありません。The enumType parameter is not an Enum type.

- または --or- value は、型が enumType とは異なる列挙体からのものです。The value is from an enumeration that differs in type from enumType.

- または --or- value の型は、enumType の基となる型ではありません。The type of value is not an underlying type of enumType.

format パラメーターに正しくない値が含まれています。The format parameter contains an invalid value.

format は "X" と等しいですが、列挙型が不明です。format equals "X", but the enumeration type is unknown.

次の例は、EnumコンテキストでFormatを使用する方法を示しています。The following example illustrates the use of Format in the context of 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.
 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パラメーターの有効な値を示しています。The following table shows the valid values for the format parameter.

形式Format 説明Description
"G" または "g""G" or "g" valueが名前付き列挙定数と等しい場合は、その定数の名前が返されます。それ以外の場合は、valueに相当する 10 進数が返されます。If value is equal to a named enumerated constant, the name of that constant is returned; otherwise, the decimal equivalent of value is returned.

たとえば、唯一の列挙型定数の名前が Red で、その値が 1 であるとします。For example, suppose the only enumerated constant is named Red, and its value is 1. valueが 1 と指定されている場合、この形式は "Red" を返します。If value is specified as 1, this format returns "Red". ただし、valueが 2 と指定されている場合、この形式は "2" を返します。However, if value is specified as 2, this format returns "2".

- または --or-

FlagsAttributeカスタム属性が列挙に適用されている場合、valueは 1 つ以上のビットで構成される 1 つ以上のフラグを含むビットフィールドとして扱われます。If the FlagsAttribute custom attribute is applied to the enumeration, value is treated as a bit field that contains one or more flags that consist of one or more bits.

valueが名前付き列挙定数の組み合わせと等しい場合は、その定数の名前の区切り記号で区切られたリストが返されます。If value is equal to a combination of named enumerated constants, a delimiter-separated list of the names of those constants is returned. valueはフラグを検索し、最も大きい値を持つフラグから最小の値に移動します。value is searched for flags, going from the flag with the largest value to the smallest value. valueのビットフィールドに対応するフラグごとに、定数の名前が区切り記号で区切られたリストに連結されます。For each flag that corresponds to a bit field in value, the name of the constant is concatenated to the delimiter-separated list. そのフラグの値は、その後の検索から除外され、次のフラグに対して検索が続行されます。The value of that flag is then excluded from further consideration, and the search continues for the next flag.

valueが名前付き列挙定数の組み合わせと等しくない場合は、valueに相当する 10 進数が返されます。If value is not equal to a combination of named enumerated constants, the decimal equivalent of value is returned.
"X" または "x""X" or "x" valueを先頭に "0x" がない 16 進数形式で表します。Represents value in hexadecimal format without a leading "0x".
"D" または "d""D" or "d" valueを 10 進数形式で表します。Represents value in decimal form.
"F" または "f""F" or "f" "G" または "g" と同じように動作しますが、Enum宣言にFlagsAttributeが存在する必要がない点が異なります。Behaves identically to "G" or "g", except that the FlagsAttribute is not required to be present on the Enum declaration.

適用対象

こちらもご覧ください