Stringhe di formato di enumerazione

 

È possibile utilizzare il metodo Enum.ToString per creare un nuovo oggetto stringa che rappresenti il valore numerico, esadecimale o stringa di un membro di enumerazione. Questo metodo accetta una delle stringhe di formattazione di enumerazione per specificare il valore che si desidera venga restituito.

Nella tabella che segue sono elencate le stringhe di formattazione di enumerazione e i valori da esse restituiti. In questi identificatori di formato la distinzione tra maiuscole e minuscole non è rilevante.

Stringa di formatoRisultato
G o gVisualizza la voce di enumerazione sotto forma di valore di stringa, se possibile. In caso contrario, visualizza l'Integer dell'istanza corrente. Se l'enumerazione viene definita con l'attributo Flags impostato, i valori di stringa di ciascuna voce valida saranno concatenati tra loro, separati da virgole. Se l'attributo Flags non è impostato, un valore non valido verrà visualizzato sotto forma di voce numerica. Nell'esempio riportato di seguito viene illustrato l'identificatore di formato G.

 
      Console.WriteLine(ConsoleColor.Red.ToString("G"));         // Displays Red
      FileAttributes attributes = FileAttributes.Hidden |
                                  FileAttributes.Archive;
      Console.WriteLine(attributes.ToString("G"));   // Displays Hidden, Archive                               
F o fVisualizza la voce di enumerazione sotto forma di valore di stringa, se possibile. Se è possibile visualizzare interamente il valore come una sommatoria delle voci dell'enumerazione (anche se l'attributo Flags non è presente), i valori di stringa di ciascuna voce valida verranno concatenati tra loro, separati da virgole. Se non è possibile determinare completamente il valore sulla base delle voci di enumerazione, il valore verrà formattato sotto forma di valore integer. Nell'esempio riportato di seguito viene illustrato l'identificatore di formato F.

 
      Console.WriteLine(ConsoleColor.Blue.ToString("F"));       // Displays Blue
      FileAttributes attributes = FileAttributes.Hidden | 
                                  FileAttributes.Archive;
      Console.WriteLine(attributes.ToString("F"));   // Displays Hidden, Archive                               
D o dVisualizza la voce di enumerazione sotto forma di un valore integer nella più breve rappresentazione possibile. Nell'esempio riportato di seguito viene illustrato l'identificatore di formato D.

 
      Console.WriteLine(ConsoleColor.Cyan.ToString("D"));         // Displays 11
      FileAttributes attributes = FileAttributes.Hidden |
                                  FileAttributes.Archive;
      Console.WriteLine(attributes.ToString("D"));                // Displays 34                               
X o xVisualizza la voce di enumerazione sotto forma di un valore esadecimale. Se necessario, il valore viene rappresentato con l'aggiunta di un numero di zeri iniziali sufficiente a raggiungere la lunghezza minima di otto cifre. Nell'esempio riportato di seguito viene illustrato l'identificatore di formato X.

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

Nell'esempio riportato di seguito viene definita un'enumerazione denominata Colors costituita dalle tre voci Red, Blue e Green.

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

Al completamento della definizione dell'enumerazione sarà possibile dichiararne un'istanza nel seguente modo:

      Color myColor = Color.Green;      

È quindi possibile utilizzare il metodo Color.ToString(System.String) per visualizzare il valore di enumerazione in modi diversi, a seconda dell'identificatore di formato passato.

      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.      

Formattazione di tipi

Mostra: