【发布时间】:2011-04-04 15:07:09
【问题描述】:
我有以下代码:
string foo = "blah".PadLeft(4, ' ');
但是当我检查它时,而不是 foo 是 "____blah"(开头有 4 个空格),它只是 "blah"。为什么 PadLeft 没有达到我的预期?
【问题讨论】:
我有以下代码:
string foo = "blah".PadLeft(4, ' ');
但是当我检查它时,而不是 foo 是 "____blah"(开头有 4 个空格),它只是 "blah"。为什么 PadLeft 没有达到我的预期?
【问题讨论】:
因为first argument is total length of resulting string 而不是要填充的字符数。因此,在您的示例中,您想使用 8 而不是 4。
【讨论】:
PadLeft 的第一个参数指定了您想要的 total 结果长度。由于“blah”以四个字符开头,因此当您指定长度为 4 时不会添加填充。如果要插入四个空格,请将调用更改为 string foo = "blah".PadLft(8, ' '); 由于默认填充字符是空格,您可以跳过指定而直接使用 string foo = "blah".PadLeft(8)
【讨论】: