2011-06-07 122 views
0

我正在創建一個將文本輸出到文件的C#程序。我想根據設定的規格對齊所有信息。例如,我想line#有20個字符的空間,message info有25個字符的空間。如果空間未被使用,我希望它是空的空間。我到處搜索,無法找到任何工作。C#格式化文件的輸出?

我已經在下面列出了一個基本的例子。我在帖子中使用了格式化期間,我不想在輸出中使用它們。

 
Line #1.............Message Info #1  

Line #15............Message Info #15   

Line #534...........Message Info #534 
+0

正如你無論您打印多少個號碼,都希望在'Message Info#1'和'Message Info#534'排隊嗎? – Tejs 2011-06-07 18:37:38

+0

考慮看'String.format'。請參閱http://msdn.microsoft.com/en-us/library/fht0f5be.aspx和http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx。 – MGwynne 2011-06-07 18:42:19

+0

是的,這是正確的。 – buzzzzjay 2011-06-07 18:43:53

回答

4

看這裏net format a string with fixed spaces

var line1 = String.Format("{0,20}", s); 
+1

+1,儘管他們可能需要負面板(「{0,-20}」)。 ;-) – 2011-06-07 18:40:59

+0

有沒有辦法做到這一點與字符串以外的東西?示例int? – buzzzzjay 2011-06-07 19:07:35

+0

@buzzzzjay我不確定你的意思,但String.Format並不在乎它是否是Int32或String。爲了證明它,你可以做myInt.ToString()並把它作爲參數傳遞。 – 2011-06-07 22:06:51