我如何获得这样的代码以保持所有格式化?
Console.WriteLine("{0}\t{1}", name[j], score[j]);
当某些名称较长并且混乱格式化时,它会输出类似
的内容Henrichson 100
Mike 80
有没有办法让分数始终在同一列?
答案 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]);