2011-01-02 13 views
22

Ciao ho un problema che ho questa riga di codice:Come fare l'allineamento all'interno di string.Format C#?

return string.Format("{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}", Name, CPSA, PostCode, Rank, Score1, Score2, Score3, Score4, Score5, Score6, Score7, Score8); 

Si attira i dati da un file di testo e viene emesso in una casella di riepilogo. voglio giustificare la metà di esso a sinistra e metà a destra in modo nel mondo dei sogni in questo modo:

return string.Format("align=left({0}, {1}, {2}, {3}, {4},) align=right ({5}, {6}, {7}, {8}, {9}, {10}, {11})", Name, CPSA, PostCode, Rank, Score1, Score2, Score3, Score4, Score5, Score6, Score7, Score8); 

Ho guardato intorno, ma non hanno idea di come farlo, io sono anche un po 'di codeing noob quindi per favore spiega. il codice è C# Grazie

+0

una casella di riepilogo ha una propria idea di come allineare il testo, string.Format() non conta. La tua domanda è senza risposta finché non documenterai quale tipo di classe ListBox usi. –

+0

Allineato a sinistra preoccupato per cosa? Dove verrà stampato il testo? HTML, Silverlight, console o Winform –

+0

In generale, ogni carattere ha una larghezza diversa, quindi l'allineamento con gli spazi non funzionerà a meno che non si stia costringendo la listbox a utilizzare un carattere a spaziatura fissa ... sarà necessario tabellare i dati e per quello avremmo bisogno di un esempio migliore di ciò che stai cercando di ottenere. –

risposta

50

Si può fare qualcosa di simile:

Console.WriteLine(String.Format("{0,-10} | {1,5}", "Bill", 51)); 

Otterrete "51" allineato a destra su 5 caratteri.

Altri esempi qui: Align String with Spaces.

Per riferimento ufficiale, guardare la risposta di Composite Formatting

1

@Rubens Farias è corretto, ma ricordate che String.Format trucco funziona solo se si utilizza un carattere a spaziatura fissa.

Per esempio, in C# è possibile utilizzare font 'Consolas', che è spaziatura fissa:

Font NewFont = new Font("Consolas", 8.25, FontStyle.Regular)