【c#】String /t 制表符无法对齐的解决方法

字符的对齐

众所众知字符对齐我们可以使用 \t 这个符号,这个符号也被我们称之为制表符。

其使用方式一般是这样的:

Console.WriteLine("{0}\t{1}\t{2}","a","b",3);

但是在具体的使用中,遇到了类似这种情况

Console.WriteLine("{0}\t{1}\t{2}","a","b",3);
Console.WriteLine("{0}\t{1}\t{2}","aaaaaaaaaaaaaaaaaaaaaaaa","b",3);
Console.WriteLine("{0}\t{1}\t{2}","aaaa","b",3);

我们会发现,制表符确实运行了,但是图表并没有像我们想象中的对齐

image

经过查阅,我们会发现 \t 制表符,只会在字符串间隔小于 8 字节时,可以按照预期的方式正常使用。

所以我们可以采用如下的方式

String.Format("{0,–10}",text)
//要将字符串向左对齐使用负数,正对齐使用正数,里面的值为当前所占字符的格子。例如:

Console.WriteLine(String.Format("{0,-30} | {1,-20} | {2,5}", "a", "b", 3));
Console.WriteLine(String.Format("{0,-30} | {1,-20} | {2,5}", "aaaaaaaaaaaaaaaaaaaaaaaa", "b", 3));
Console.WriteLine(String.Format("{0,-30} | {1,-20} | {2,5}", "aaaa", "b", 3));

控制台输出:

image

参考链接

C#输出文字对齐,空格位数对齐

posted @ 2024-06-26 15:44  皮卡味月亮  阅读(257)  评论(0)    收藏  举报