【问题标题】:Why is PadLeft not working?为什么 PadLeft 不工作?
【发布时间】:2011-04-04 15:07:09
【问题描述】:

我有以下代码:

string foo = "blah".PadLeft(4, ' ');

但是当我检查它时,而不是 foo 是 "____blah"(开头有 4 个空格),它只是 "blah"。为什么 PadLeft 没有达到我的预期?

【问题讨论】:

    标签: .net string padding


    【解决方案1】:

    因为first argument is total length of resulting string 而不是要填充的字符数。因此,在您的示例中,您想使用 8 而不是 4。

    【讨论】:

    • @RCIX:这是很聪明的行为,因为pad最常见的用途是创建一个固定长度的字符串,然后使用起来非常简单,不需要自己计算长度。跨度>
    • @Albin Sunnanbo:谢谢,我自己说得再好不过了。
    【解决方案2】:

    PadLeft 的第一个参数指定了您想要的 total 结果长度。由于“blah”以四个字符开头,因此当您指定长度为 4 时不会添加填充。如果要插入四个空格,请将调用更改为 string foo = "blah".PadLft(8, ' '); 由于默认填充字符是空格,您可以跳过指定而直接使用 string foo = "blah".PadLeft(8)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-23
      • 2016-11-19
      • 1970-01-01
      • 2015-06-15
      • 2013-06-01
      • 2011-09-29
      • 2014-05-16
      相关资源
      最近更新 更多