如何在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
空格的字符串,但这将是相当长的硬编码数组。
答案 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)
您可以使用char
和int
的{{3}}:
nextLine.Append(' ', 100 - time.Length);
答案 2 :(得分:2)
使用PadLeft -
nextLine.Append(String.Empty.PadLeft(' ', 100 - time.Length));