0

我将如何获得这样的代码以将所有内容格式化在一起?

Console.WriteLine("{0}\t{1}", name[j], score[j]);

当某些名称较长并且格式混乱时,它会输出类似

Henrichson      100
Mike    80

有没有办法让分数总是在同一列?

4

2 回答 2

2

您可以String.PadRight()用来制作固定的列宽。

const int columnWidth = 15;

Console.WriteLine("{0} {1}", name[j].PadRight(columnWidth), score[j]);

columnWidth表示您希望在字符串中包含的目标字符数。如果输入字符串小于目标,它将附加空格(默认情况下)。

columnWidth或者,您可以通过在说明符中添加一个表示为参数的负整数来使用内置格式说明符选项。

Console.WriteLine("{0,-15} {1}", name[j], score[j]);
于 2013-12-01T00:43:29.620 回答
1

使用具有适当最大长度的填充,因此其余部分将填充空格:

Console.WriteLine("{0,-18}\t{1}", name[j], score[j]);
于 2013-12-01T00:43:04.917 回答