控制台输出格式关闭

时间:2013-12-01 00:35:42

标签: c# console.writeline

我如何获得这样的代码以保持所有格式化?

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

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

的内容
Henrichson      100
Mike    80

有没有办法让分数始终在同一列?

2 个答案:

答案 0 :(得分: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]);

答案 1 :(得分:1)

使用具有适当最大长度的填充,因此休息将填充空格:

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