Uppräkningsformatsträngar
Du kan använda Enum.ToString metoden för att skapa ett nytt strängobjekt som representerar det numeriska, hexadecimala eller strängvärdet för en uppräkningsmedlem. Den här metoden tar en av uppräkningsformateringssträngarna för att ange det värde som du vill returnera.
I följande avsnitt visas uppräkningsformateringssträngarna och de värden som de returnerar. Dessa formatspecificerare är inte skiftlägeskänsliga.
G eller g
Visar uppräkningsposten som ett strängvärde, om möjligt, och visar annars heltalsvärdet för den aktuella instansen. Om uppräkningen definieras med uppsättningen sammanfogas strängvärdena för varje giltig post, avgränsade med FlagsAttribute kommatecken. Om attributet Flags
inte har angetts visas ett ogiltigt värde som en numerisk post. I följande exempel visas formatspecificeraren G
.
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 eller f
Visar uppräkningsposten som ett strängvärde, om möjligt. Om värdet kan visas som en sammanfattning av posterna i uppräkningen (även om Flags
attributet inte finns) sammanfogas strängvärdena för varje giltig post, avgränsade med kommatecken. Om värdet inte kan fastställas av uppräkningsposterna formateras värdet som heltalsvärde. I följande exempel visas formatspecificeraren F
.
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 eller d
Visar uppräkningsposten som ett heltalsvärde i kortast möjliga representation. I följande exempel visas formatspecificeraren D
.
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 eller x
Visar uppräkningsposten som ett hexadecimalt värde. Värdet representeras med inledande nollor efter behov för att säkerställa att resultatsträngen har två tecken för varje byte i uppräkningstypens underliggande numeriska typ. I följande exempel visas X-formatspecificeraren. I exemplet är de underliggande typerna av DayOfWeek, ConsoleColor och FileAttributes , Int32eller ett 32-bitars (eller 4 byte) heltal, vilket ger en resultatsträng på 8 tecken.
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
Exempel
I följande exempel definieras en uppräkning med namnet Colors
som består av tre poster: Red
, Blue
och Green
.
public enum Color { Red = 1, Blue = 2, Green = 3 };
Public Enum Color
Red = 1
Blue = 2
Green = 3
End Enum
När uppräkningen har definierats kan en instans deklareras på följande sätt.
Color myColor = Color.Green;
Dim myColor As Color = Color.Green
Metoden Color.ToString(System.String)
kan sedan användas för att visa uppräkningsvärdet på olika sätt, beroende på vilket format som anges.
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.