Vytvoření výčtu řetězců formátu

Tuto metodu Enum.ToString můžete použít k vytvoření nového objektu řetězce, který představuje číselnou, šestnáctkovou nebo řetězcovou hodnotu členu výčtu. Tato metoda přebírá jeden z řetězců formátování výčtu k určení hodnoty, kterou chcete vrátit.

V následujících částech jsou uvedeny řetězce formátování výčtu a hodnoty, které vrací. Tyto specifikátory formátu nerozlišují malá a velká písmena.

G nebo g

Zobrazí položku výčtu jako řetězcovou hodnotu, pokud je to možné, a v opačném případě zobrazí celočíselnou hodnotu aktuální instance. Pokud je výčet definován pomocí FlagsAttribute sady, řetězcové hodnoty každé platné položky jsou zřetězeny dohromady oddělené čárkami. Flags Pokud atribut není nastavený, zobrazí se neplatná hodnota jako číselná položka. Následující příklad znázorňuje G specifikátor formátu.

Console.WriteLine(((DayOfWeek)7).ToString("G"));      // 7
Console.WriteLine(ConsoleColor.Red.ToString("G"));    // Red

var attributes = FileAttributes.Hidden | FileAttributes.Archive;
Console.WriteLine(attributes.ToString("G"));          // Hidden, Archive
Console.WriteLine((CType(7, DayOfWeek)).ToString("G"))    ' 7
Console.WriteLine(ConsoleColor.Red.ToString("G"))         ' Red
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
                                   FileAttributes.Archive
Console.WriteLine(attributes.ToString("G"))               ' Hidden, Archive

F nebo f

Pokud je to možné, zobrazí položku výčtu jako řetězcovou hodnotu. Pokud lze hodnotu zobrazit jako součet položek v výčtu (i když Flags atribut není k dispozici), řetězcové hodnoty každé platné položky jsou zřetězeny dohromady oddělené čárkami. Pokud hodnotu nelze určit položkami výčtu, je hodnota naformátovaná jako celočíselná hodnota. Následující příklad znázorňuje F specifikátor formátu.

Console.WriteLine(((DayOfWeek)7).ToString("F"));       // Monday, Saturday
Console.WriteLine(ConsoleColor.Blue.ToString("F"));    // Blue

var attributes = FileAttributes.Hidden | FileAttributes.Archive;
Console.WriteLine(attributes.ToString("F"));           // Hidden, Archive
Console.WriteLine((CType(7, DayOfWeek)).ToString("F"))    ' Monday, Saturday
Console.WriteLine(ConsoleColor.Blue.ToString("F"))        ' Blue
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
                                   FileAttributes.Archive
Console.WriteLine(attributes.ToString("F"))               ' Hidden, Archive

D nebo d

Zobrazí položku výčtu jako celočíselnou hodnotu v nejkratší možné reprezentaci. Následující příklad znázorňuje D specifikátor formátu.

Console.WriteLine(((DayOfWeek)7).ToString("D"));       // 7
Console.WriteLine(ConsoleColor.Cyan.ToString("D"));    // 11

var attributes = FileAttributes.Hidden | FileAttributes.Archive;
Console.WriteLine(attributes.ToString("D"));           // 34
Console.WriteLine((CType(7, DayOfWeek)).ToString("D"))     ' 7
Console.WriteLine(ConsoleColor.Cyan.ToString("D"))         ' 11
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
                                   FileAttributes.Archive
Console.WriteLine(attributes.ToString("D"))                ' 34

X nebo x

Zobrazí položku výčtu jako šestnáctkovou hodnotu. Hodnota je reprezentována počátečními nulami podle potřeby, aby byl výsledný řetězec pro každý bajt v podkladovém číselném typu typu výčtu dva znaky. Následující příklad znázorňuje specifikátor formátu X. V příkladu jsou základní typy DayOfWeekConsoleColor a FileAttributes jsou Int32nebo 32bitové (nebo 4 bajtové) celé číslo, které vytvoří 8místný výsledný řetězec.

Console.WriteLine(((DayOfWeek)7).ToString("X"));       // 00000007
Console.WriteLine(ConsoleColor.Cyan.ToString("X"));    // 0000000B

var attributes = FileAttributes.Hidden | FileAttributes.Archive;
Console.WriteLine(attributes.ToString("X"));           // 00000022
Console.WriteLine((CType(7, DayOfWeek)).ToString("X"))    ' 00000007
Console.WriteLine(ConsoleColor.Cyan.ToString("X"))        ' 0000000B
Dim attributes As FileAttributes = FileAttributes.Hidden Or _
                                   FileAttributes.Archive
Console.WriteLine(attributes.ToString("X"))               ' 00000022

Příklad

Následující příklad definuje výčet, Colors který se skládá ze tří položek: Red, Bluea Green.

public enum Color { Red = 1, Blue = 2, Green = 3 };
Public Enum Color
    Red = 1
    Blue = 2
    Green = 3
End Enum

Po definování výčtu lze instanci deklarovat následujícím způsobem.

Color myColor = Color.Green;
Dim myColor As Color = Color.Green

Metodu Color.ToString(System.String) pak lze použít k zobrazení hodnoty výčtu různými způsoby v závislosti na specifikátoru formátu předaného do něj.

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.
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.      

Viz také