【问题标题】:How to do Alignment within string.Format in C#?如何在 C# 中的 string.Format 中进行对齐?
【发布时间】: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
  • 通常每个字符都有不同的宽度,因此与空格对齐将不起作用,除非您强制列表框使用等宽字体...您需要将数据制成表格并为此我们需要一个更好的例子来说明您想要实现的目标。

标签: c# string format alignment


【解决方案1】:

你可以这样做:

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

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

更多示例:Align String with Spaces

官方参考见Composite Formatting

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 2014-01-26
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    相关资源
    最近更新 更多