我使用字符串格式填充来显示特定格式的列(即列之间的距离)。
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#函数来实现?
答案 0 :(得分:1)
您的String.Format已正确格式化您的字符串。 {0,5}允许第一个参数使用5个字符。这将为您的行开头提供4个空格,用于单个数字ID,3个用于双位数字ID。也许这是你如何显示你的字符串的问题。
但是,您以所要求的格式显示的内容略有不同 试试这个:
string firstGroup = $"{ID}{ZIP}{State}";
String.Format($"{firstGroup,-13}{Flag}");