Formattare le stringhe nel metodo Console.WriteLine

Sono nuovo di programmazione C #. Qualcuno può spiegare il seguente codice:

Console.WriteLine( "{0}{1,10}", "Face", "Frequency" ); //Headings Console.WriteLine( "{0,4}{1,10}",someval,anotherval); 

Capisco che questo stampa due colonne di valori con le intestazioni date, e {0} riferisce al primo argomento dato. Ma qual è il significato delle stringhe di formato della forma {x,y} ?

Aggiunge padding a sinistra. Molto utile per ricordare i vari pattern di formattazione delle stringhe è il seguente cheat sheet:

.NET String.Format Cheat Sheet

I valori positivi aggiungono il padding a sinistra, il pad addizionale negativo a destra

 Esempio generato
 String.Format ("[{0, 10}]", "Foo");  [∙∙∙∙∙∙∙ Foo]
 String.Format ("[{0, 5}]", "Foo");  [∙∙ Foo]
 String.Format ("[{0, -5}]", "Foo");  [Foo ∙∙]
 String.Format ("[{0, -10}]", "Foo");  [Foo ∙∙∙∙∙∙∙]

Quando vedi {x,y} , x rappresenta l’indice dell’argomento y l’allineamento, come specificato qui . La syntax completa è la seguente:

 {index[,alignment][:formatString]} 

Si prega di verificare questo per un riferimento di formattazione della stringa molto buona.

Questo è un valore di riempimento … se l’argomento non è la lunghezza specificata, inserisce spazi.

Ad esempio, se hai {0,10} e l’argomento per {0} era “Blah”, il valore effettivo stampato sarebbe "Blah" .. .Blah, con 6 spazi extra per creare una stringa di 10 lunghezze

ps: non so come inserire gli spazi effettivi in ​​… devi cercare SO faq senza dubbio