【发布时间】:2017-03-06 21:58:51
【问题描述】:
我使用字符串格式填充以特定格式(即列之间的距离)显示列。
String.Format("{0,5}{1,0}{2,-20}{3,0}",
ID,
ZIP,
State,
Flag);
它适用于标准的固定行长度。
012345IL 1
112345KS 0
212345CO 1
312345CA 1
412345IL 1
512345KS 0
612345CO 1
712345CA 1
812345IL 1
912345KS 0
1012345CO 1
1112345CA 1
但是当 ID 变成两位数并且最后一行移动了一点时,问题就来了。 我期望的格式是
012345IL 1
112345KS 0
212345CO 1
312345CA 1
412345IL 1
512345KS 0
612345CO 1
712345CA 1
812345IL 1
912345KS 0
1012345CO 1
1112345CA 1
我尝试了 padright 和 padleft,但没有解决问题,我对另一个有地址的字符串也有同样的问题,当地址长度增加时,最后一列会发生变化。有没有其他方法或者内置的C#函数来实现?
【问题讨论】:
-
一个更好的主意可能是字符串计数并使用空格而不是填充。因此,如果 ID 大小增加,您下一列的位置仍然相同。
-
@MohitShrivastava 你能用你的概念原型回答吗?
-
你如何显示你的结果?因为我在每个结果前面都看到了填充字符串(空格),这使它们成为你想要的东西
-
填充 0 不会影响我的格式的输出
标签: c# string string-formatting