如何在 C# 中的 string.Format 中进行对齐?

Posted

技术标签:

【中文标题】如何在 C# 中的 string.Format 中进行对齐?【英文标题】:How to do Alignment within string.Format in C#? 【发布时间】:2011-06-02 13:04:48 【问题描述】:

我在 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);

它从文本文件中提取数据并在列表框中输出。 我想证明一半在左边,一半在右边,所以在梦境中:

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);

我环顾四周,但不知道该怎么做。谁能解释一下?

【问题讨论】:

列表框有自己的想法如何对齐文本,string.Format() 不算。在您记录您使用哪种 ListBox 类之前,您的问题是无法回答的。 左对齐关注什么?文本将在哪里打印? html、Silverlight、控制台或 Winforms 通常每个字符都有不同的宽度,因此与空格对齐将不起作用,除非您强制列表框使用等宽字体...您需要将数据制成表格并为此我们需要一个更好的例子来说明您想要实现的目标。 【参考方案1】:

你可以这样做:

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

您将在 5 个字符上右对齐“51”。

更多示例:Align String with Spaces。

官方参考见Composite Formatting

【讨论】:

以上是关于如何在 C# 中的 string.Format 中进行对齐?的主要内容,如果未能解决你的问题,请参考以下文章

.net(C#)中String.Format如何使用

C#中string.format用法详解

C#中的String.Format方法输入日志标题

C#中string.Format 用法详解

C# string.format用法详解

C#中string.format用法详解 [转载]