2017-04-19 5 views
-2

多くの行を印刷したい。各行は、文字列とホワイトスペースと2番目の文字列です。PadRightはcrlfが正常に動作しないと考えると

各行に2番目の部分文字列を配置します。だから私はPadRightを使う。それはうまくいきません。

コード:

void Main() 
{ 
    var str ="Hellooooo".PadRight(50)+"Test"; 
    str += (Environment.NewLine+"World").PadRight(50)+"Test"; 
    str+= (Environment.NewLine+"Hello Worldoooooooo").PadRight(50)+"Test"; 
    Console.WriteLine(str); 
} 

出力は 1

が好きなあなたは三つの "テスト" が垂直配向されていません見ることができます。

+0

を参照してください。それは本当に空白を使用して整列する必要がありますか?コンソールの出力でない場合。スクリーンショットは異なって見えます。 – CSharpie

答えて

0

テキストの空白を揃えたい場合は、courier newのようにmono space font(すべての文字は同じ幅)が必要です。

Environment.NewLineは、2番目と3番目の文字列にありますが、最初の文字列にはありません。

この作品、Environment.NewLineを固定し、固定幅フォントを使用して:

public static void Main() 
{ 
    var str ="Hellooooo".PadRight(50)+"Test"; 
    str += Environment.NewLine + ("World").PadRight(50)+"Test"; 
    str += Environment.NewLine + ("Hello Worldoooooooo").PadRight(50)+"Test"; 
    Console.WriteLine(str); 
} 

result

は、より多くのテーブルに優しいコントロールを使用する通常のよりよいlive demo

+0

いいえ、すべての文字を 'o'に変更しました。同じ結果。私はLinqPadでテストします。 – Bigeyes

+0

はい、スペースは同じ幅ではありません。 – Julian

+0

どうすれば並べ替えることができますか?文字列は実行時に生成されます。 – Bigeyes

関連する問題