c#固定长度字符串

VAA*_*AAA 5 c# string fixed-length-record

我需要生成一个固定长度的文本行:

我现在拥有的是:

StringBuilder _sb = new StringBuilder();

_sb.Append(string.Format("{0,5}", "MM")); // serie to cancel
_sb.Append(string.Format("{0,20}", "45444")); // folio to cancel
_sb.Append(string.Format("{0,30}", "AC1122")); // account number (optional)
Run Code Online (Sandbox Code Playgroud)

这很有效,因为生成一个55个字符的固定长度字符串.

例如,可选值是一个空字符串,例如:

StringBuilder _sb = new StringBuilder();

_sb.Append(string.Format("{0,5}", "MM")); // serie to cancel
_sb.Append(string.Format("{0,20}", "45444")); // folio to cancel
_sb.Append(string.Format("{0,30}", "")); // account number (optional)
Run Code Online (Sandbox Code Playgroud)

在string.format中有空字符串然后不会给出固定长度,我仍然需要30个字符长度.

任何线索都非常感谢!!

谢谢

Szy*_*mon 8

你可以使用PadLeft方法:

StringBuilder _sb = new StringBuilder();

_sb.Append("MM".PadLeft(5)); // serie to cancel
_sb.Append("45444".PadLeft(20)); // folio to cancel
_sb.Append("".PadLeft(30)); // account number (optional)
Run Code Online (Sandbox Code Playgroud)