【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);
我们会发现,制表符确实运行了,但是图表并没有像我们想象中的对齐

经过查阅,我们会发现 \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));
控制台输出:


浙公网安备 33010602011771号