如何向StringBuilder添加一定数量(1到100之间)的空格?
StringBuilder nextLine = new StringBuilder();
string time = Util.CurrentTime;
nextLine.Append(time);
nextLine.Append(/* add (100 - time.Length) whitespaces */);
Run Code Online (Sandbox Code Playgroud)
什么是"理想"的解决方案?for循环是丑陋的.我也可以创建whitespaces[i]包含完全包含i空格的字符串的数组,但这将是相当长的硬编码数组.
Dou*_*las 15
您可以使用该StringBuilder.Append(char,int)方法,该方法重复指定的Unicode字符指定的次数:
nextLine.Append(time);
nextLine.Append(' ', 100 - time.Length);
Run Code Online (Sandbox Code Playgroud)
更好的是,将两个附加组合成一个操作:
nextLine.Append(time.PadRight(100));
Run Code Online (Sandbox Code Playgroud)
这会附加你的time字符串,后跟100 - time.Length空格.
编辑:如果你只是使用StringBuilder构建填充时间,那么你可以完全取消它:
string nextLine = time.PadRight(100);
Run Code Online (Sandbox Code Playgroud)
你可以使用带有a 和a 的StringBuilder.Append重载:charint
nextLine.Append(' ', 100 - time.Length);
Run Code Online (Sandbox Code Playgroud)