2011-12-12 80 views
1

我有这样的代码添加空格为一个字符串在C#

String coNum = customerOrderLine.coNum.PadLeft(10 - customerOrderLine.coNum.Length); 

我知道customerOrderLine.coNum = "123456"所以我应该coNum是在它的前面有4米空的空间结束了,但我最终它是“123456”。我该如何解决?我试过PadRight以防万一那是错误,但它也失败了。我必须在开始时将4个空格传递给我正在处理的API,否则将失败。

+0

看起来它应该工作。你确定它没有填充?显示字符串以确保并将分隔符放在周围:“[”+ coNum +“]”; –

回答

5

PadLeft需要一个总长度作为参数,所以我想你想

String coNum = customerOrderLine.coNum.PadLeft(10); 
+0

哇,你是对的。我完全没有仔细阅读msdn页面。 –

0

PadLeft没有指定默认的字符与垫;你的第二个参数应该是要用于垫的字符,即:

String coNum = customerOrderLine.coNum.PadLeft(10, ' '); 

编辑:另外,第一个参数应该是所需的总长度,而不是数量的填充字符添加,每@马修的答案。

1

这是因为您错误地指定了Pad *方法的参数totalWidth。 从文档:

字符得到的字符串中的数字,等于所述数目原始字符加上任何附加的填充字符的 [...]如果totalWidth等于这个实例的长度,所述方法 返回一个与此实例相同的新字符串。