如何向StringBuilder添加一定数量的空格?

时间:2012-06-03 11:44:37

标签: c#

如何在StringBuilder中添加一定数量(1到100之间)的空格?

StringBuilder nextLine = new StringBuilder();
string time = Util.CurrentTime;
nextLine.Append(time);
nextLine.Append(/* add (100 - time.Length) whitespaces */);

什么是“理想”的解决方案? for循环很难看。我也可以创建数组,其中whitespaces[i]包含精确包含i空格的字符串,但这将是相当长的硬编码数组。

3 个答案:

答案 0 :(得分:15)

您可以使用StringBuilder.Append(char,int)方法,该方法会指定的次数重复指定的Unicode字符:

nextLine.Append(time);
nextLine.Append(' ', 100 - time.Length);

更好的是,将两个追加组合成一个操作:

nextLine.Append(time.PadRight(100));

这会附加您的time字符串,后跟100 - time.Length个空格。

修改:如果您只使用StringBuilder来构建填充时间,那么您可以完全取消它:

string nextLine = time.PadRight(100);

答案 1 :(得分:5)

您可以使用charint的{​​{3}}:

nextLine.Append(' ', 100 - time.Length);

答案 2 :(得分:2)

使用PadLeft -

nextLine.Append(String.Empty.PadLeft(' ', 100 - time.Length));