Enumerasi dengan format string

Anda dapat menggunakan metode Enum.ToString untuk membuat objek string baru yang mewakili nilai numerik, heksadesimal, atau string anggota enumerasi. Metode ini mengambil salah satu string pemformatan enumerasi untuk menentukan nilai yang Anda ingin dikembalikan.

Bagian berikut mencantumkan string pemformatan enumerasi dan nilai yang mereka kembalikan. Penentu format ini tidak peka huruf besar/kecil.

G atau g

Menampilkan entri enumerasi sebagai nilai string, jika mungkin, dan sebaliknya menampilkan nilai bilangan bulat dari instans saat ini. Jika enumerasi didefinisikan dengan FlagsAttribute set, nilai string dari setiap entri yang valid digabungkan bersama-sama, dipisahkan oleh koma. Flags Jika atribut tidak diatur, nilai yang tidak valid ditampilkan sebagai entri numerik. Contoh berikut mengilustrasikan penentu G format.

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 atau f

Menampilkan entri enumerasi sebagai nilai string, jika memungkinkan. Jika nilai dapat ditampilkan sebagai penjumlahan entri dalam enumerasi (bahkan jika Flags atribut tidak ada), nilai string dari setiap entri yang valid digabungkan bersama-sama, dipisahkan oleh koma. Jika nilai tidak dapat ditentukan oleh entri enumerasi, maka nilai diformat sebagai nilai bilangan bulat. Contoh berikut mengilustrasikan penentu F format.

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 atau d

Menampilkan entri enumerasi sebagai nilai bilangan bulat dalam representasi sesingkat mungkin. Contoh berikut mengilustrasikan penentu D format.

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 atau x

Menampilkan entri enumerasi sebagai nilai heksadesimal. Nilai diwakili dengan nol di depan seperlunya, untuk memastikan bahwa string hasil memiliki dua karakter untuk setiap byte dalam jenis numerik yang mendasar jenis enumerasi. Contoh berikut mengilustrasikan penentu format X. Dalam contoh, jenis yang mendasar dari , ConsoleColor dan FileAttributes adalah Int32, atau bilangan DayOfWeekbulat 32-bit (atau 4-byte), yang menghasilkan string hasil 8 karakter.

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

Contoh

Contoh berikut mendefinisikan enumerasi yang disebut Colors yang terdiri dari tiga entri: Red, Blue, dan Green.

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

Setelah enumerasi didefinisikan, instans dapat dideklarasikan dengan cara berikut.

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

Metode Color.ToString(System.String) kemudian dapat digunakan untuk menampilkan nilai enumerasi dengan cara yang berbeda, tergantung pada penentu format yang diteruskan ke dalamnya.

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.      

Lihat juga