System.Enum.Format 方法

方法描述

根据指定格式将指定枚举类型的指定值转换为其等效的字符串表示形式。

语法定义(C# System.Enum.Format 方法 的用法)

[ComVisibleAttribute(true)]
public static string Format(
	Type enumType,
	Object value,
	string format
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
enumType System-Type 要转换的值的枚举类型。
value System-Object 要转换的值。
format System-String 要使用的输出格式。
返回值 System.String value 的字符串表示形式。

提示和注释

下表显示 format 参数的有效值。

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”执行的行为是相同的,只是在 Enum 声明中不需要 FlagsAttribute。

System.Enum.Format 方法例子

下面的示例演示在 Enum 上下文中 Format 的用法。

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.

异常

异常 异常描述
ArgumentNullException enumType、value 或 format 参数为 null。
ArgumentException
  • enumType 参数不是 Enum 类型。
  • value 来自于其类型与 enumType 不同的枚举。
  • value 的类型不是 enumType 的基础类型。
FormatException format 参数包含无效值。
InvalidOperationException format 等于“X”,但枚举类型未知。

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。