Freigeben über


Enum.Format-Methode

Konvertiert den angegebenen Wert eines angegebenen Enumerationstyps unter Berücksichtigung des angegebenen Formats in die entsprechende Zeichenfolgendarstellung.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
<ComVisibleAttribute(True)> _
Public Shared Function Format ( _
    enumType As Type, _
    value As Object, _
    format As String _
) As String
'Usage
Dim enumType As Type
Dim value As Object
Dim format As String
Dim returnValue As String

returnValue = Enum.Format(enumType, value, format)
[ComVisibleAttribute(true)] 
public static string Format (
    Type enumType,
    Object value,
    string format
)
[ComVisibleAttribute(true)] 
public:
static String^ Format (
    Type^ enumType, 
    Object^ value, 
    String^ format
)
/** @attribute ComVisibleAttribute(true) */ 
public static String Format (
    Type enumType, 
    Object value, 
    String format
)
ComVisibleAttribute(true) 
public static function Format (
    enumType : Type, 
    value : Object, 
    format : String
) : String

Parameter

  • enumType
    Der Enumerationstyp des zu konvertierenden Werts.
  • value
    Der zu konvertierende Wert.
  • format
    Das zu verwendende Ausgabeformat.

Rückgabewert

Eine Zeichenfolgendarstellung von value.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentNullException

Der Parameter enumType, value oder format weist den Wert NULL (Nothing in Visual Basic) auf.

ArgumentException

Der enumType-Parameter ist kein Enum-Typ.

- oder -

value stammt aus einer Enumeration, die von einem anderen Typ als enumType ist.

- oder -

Der value-Typ ist kein enumType zugrunde liegender Typ.

FormatException

Der format-Parameter hat einen ungültigen Wert.

Hinweise

Die gültigen Formatwerte lauten:

Format

Beschreibung

"G" oder "g"

Wenn value eine benannte Enumerationskonstante ist, wird der Name dieser Konstanten zurückgegeben, andernfalls die value entsprechende Dezimalzahl.

Angenommen, die einzige Enumerationskonstante hat die Bezeichnung Red und den Wert 1. Wenn für value 1 angegeben wird, gibt dieses Format "Red" zurück. Wenn allerdings für value 2 angegeben wird, gibt dieses Format "2" zurück.

- oder -

Wenn das benutzerdefinierte FlagsAttribute-Attribut auf die Enumeration angewendet wird, wird value als Bitfeld behandelt, das ein oder mehrere Flags enthält, die aus mindestens einem Bit bestehen.

Wenn value eine Kombination benannter Enumerationskonstanten ist, wird eine durch Trennzeichen unterteilte Liste der Namen dieser Konstanten zurückgegeben. value wird nach Flags durchsucht, wobei die Suche mit dem Flag mit dem größten Wert beginnt und mit dem Flag mit dem kleinsten Wert endet. Für jedes Flag, das einem Bitfeld in value entspricht, wird der Name der Konstanten mit der durch Trennzeichen unterteilten Liste verkettet. Dann wird der Wert dieses Flags von der weiteren Suche ausgeschlossen, und die Suche wird mit dem nächsten Flag fortgesetzt.

Wenn value keine Kombination von benannten Enumerationskonstanten ist, wird die value entsprechende Dezimalzahl zurückgegeben.

"X" oder "x"

Stellt value hexadezimal ohne vorangestelltes "0x" dar.

"D" oder "d"

Stellt value dezimal dar.

"F" oder "f"

Das Verhalten ist bei "G" und "g" identisch, wobei das FlagsAttribute bei der Enum-Deklaration nicht erforderlich ist.

Beispiel

Das folgende Codebeispiel veranschaulicht die Verwendung von Format im Kontext von Enum.

Imports System

Public Class FormatTest
    
    Enum Colors
        Red
        Green
        Blue
        Yellow    
    End Enum 'Colors
    
    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 'Main
End Class 'FormatTest
using System;

public class FormatTest {
    enum Colors { Red, Green, Blue, Yellow };

    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"));
    }
}
using namespace System;
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" ) );
}
import System.*;

public class FormatTest
{
    enum Colors
    {
        red (0),
        green (1),
        blue (2),
        yellow (3);
    } //Colors

    public static void main(String[] args)
    {
        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.class.ToType(), myColor, "d"));
        Console.WriteLine("The hex value of my favorite color is {0}", 
            Enum.Format(Colors.class.ToType(), myColor, "x"));
    } //main
} //FormatTest
import System;

public class FormatTest {
    enum Colors { Red, Green, Blue, Yellow };

    public static function Main() {
        var myColor : Colors = Colors.Blue;

        Console.WriteLine("My favorite color is {0}", myColor);
        Console.WriteLine("The value of my favorite color is {0}", Enum.Format(Colors, myColor, "d"));
        Console.WriteLine("The hex value of my favorite color is {0}", Enum.Format(Colors, myColor, "x"));
    }
}

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

Enum-Struktur
Enum-Member
System-Namespace
ToString

Weitere Ressourcen

Übersicht über Formatierung
Enumerationsformatzeichenfolgen