Enumerationsformatzeichenfolgen

 

Sie können mit der Enum.ToString-Methode ein neues Zeichenfolgenobjekt erstellen, das den numerischen, hexadezimalen oder den Zeichenfolgenwert eines Enumerationsmembers darstellt. Diese Methode übernimmt eine der Enumerationsformatzeichenfolgen, um den Wert anzugeben, den Sie zurückgeben möchten.

In der folgenden Tabelle werden die Enumerationsformatzeichenfolgen und die Werte aufgelistet, die von diesen zurückgegeben werden. Bei diesen Formatbezeichnern wird die Groß- und Kleinschreibung nicht berücksichtigt.

FormatzeichenfolgeErgebnis
G oder gZeigt, soweit möglich, den Enumerationseintrag als Zeichenfolgenwert an. Andernfalls wird der Ganzzahlwert der aktuellen Instanz angezeigt. Wenn die Enumeration mit festgelegtem Flags-Attribut definiert ist, werden die Zeichenfolgenwerte der einzelnen gültigen Einträge verkettet und durch Kommas getrennt. Wenn das Flags-Attribut nicht festgelegt ist, wird ein ungültiger Wert als numerischer Eintrag angezeigt. Im folgenden Beispiel wird der G-Formatbezeichner veranschaulicht.

 
      Console.WriteLine(ConsoleColor.Red.ToString("G"));         // Displays Red
      FileAttributes attributes = FileAttributes.Hidden |
                                  FileAttributes.Archive;
      Console.WriteLine(attributes.ToString("G"));   // Displays Hidden, Archive                               
F oder fZeigt den Enumerationseintrag, soweit möglich, als Zeichenfolgenwert an. Wenn der Wert vollständig als eine Summe der Einträge in der Enumeration angezeigt werden kann (auch wenn das Flags-Attribut fehlt), werden die Zeichenfolgenwerte der einzelnen gültigen Einträge verkettet und durch Kommas getrennt. Wenn der Wert nicht vollständig durch die Enumerationseinträge bestimmt werden kann, wird der Wert als Ganzzahlwert formatiert. Im folgenden Beispiel wird der F-Formatbezeichner veranschaulicht.

 
      Console.WriteLine(ConsoleColor.Blue.ToString("F"));       // Displays Blue
      FileAttributes attributes = FileAttributes.Hidden | 
                                  FileAttributes.Archive;
      Console.WriteLine(attributes.ToString("F"));   // Displays Hidden, Archive                               
D oder dZeigt den Enumerationseintrag als Ganzzahlwert in der kürzesten möglichen Darstellung an. Im folgenden Beispiel wird der D-Formatbezeichner veranschaulicht.

 
      Console.WriteLine(ConsoleColor.Cyan.ToString("D"));         // Displays 11
      FileAttributes attributes = FileAttributes.Hidden |
                                  FileAttributes.Archive;
      Console.WriteLine(attributes.ToString("D"));                // Displays 34                               
X oder xZeigt den Enumerationseintrag als hexadezimalen Wert an. Der Wert wird mit ggf. mit vorangestellten Nullen dargestellt, damit der Wert mindestens acht Ziffern enthält. Im folgenden Beispiel wird der X-Formatbezeichner veranschaulicht.

 
      Console.WriteLine(ConsoleColor.Cyan.ToString("X"));   // Displays 0000000B
      FileAttributes attributes = FileAttributes.Hidden |
                                  FileAttributes.Archive;
      Console.WriteLine(attributes.ToString("X"));          // Displays 00000022                               

Im folgenden Beispiel wird eine Enumeration mit der Bezeichnung Colors definiert, die drei Einträge enthält: Red, Blue und Green.

public enum Color {Red = 1, Blue = 2, Green = 3}

Nachdem die Enumeration definiert wurde, kann folgendermaßen eine Instanz deklariert werden.

      Color myColor = Color.Green;      

Die Color.ToString(System.String)-Methode kann dann dazu verwendet werden, den Enumerationswert auf verschiedene Arten anzuzeigen. Wie er angezeigt wird, hängt vom übergebenen Formatbezeichner ab.

      Console.WriteLine("The value of myColor is {0}.", 
                        myColor.ToString("G"));
      Console.WriteLine("The value of myColor is {0}.", 
                        myColor.ToString("F"));
      Console.WriteLine("The value of myColor is {0}.", 
                        myColor.ToString("D"));
      Console.WriteLine("The value of myColor is 0x{0}.", 
                        myColor.ToString("X"));
      // The example displays the following output to the console:
      //       The value of myColor is Green.
      //       The value of myColor is Green.
      //       The value of myColor is 3.
      //       The value of myColor is 0x00000003.      

Formatierung von Typen

Anzeigen: