多次将相同的值添加到字符串中

时间:2014-01-13 22:30:17

标签: c# string

我正在尝试使用动态ammount在单词之间创建一个简单的制表符空间。我该怎么做?

就像这样:

string p1 = keysC[pos]+"="+valsC[pos];
int tabs = (60 - p1.Length) / 4;
wr.WriteLine(p1 + ("\t" * tabs) +"//"+comsC[pos]);

4 个答案:

答案 0 :(得分:4)

String contructor有一个超载。

string p1 = keysC[pos]+"="+valsC[pos];
int tabs = (60 - p1.Length) / 4;
wr.WriteLine(p1 + new string('\t', tabs) +"//"+comsC[pos]);

请注意,构造函数的第一个参数是char而不是string

答案 1 :(得分:3)

您可以使用string constructor

string allTabs = new string('\t', tabs);

答案 2 :(得分:2)

听起来只需要编写一个重复相同字符串N次的函数

static string RepeatString(string source, int times) { 
  var builder = new StringBuilder(source.Length * times);
  for (int i = 0; i < times; i++) {
    builder.Append(source);
  }
  return builder.ToString();
}

请注意,如果您只关心重复char \t,请使用@ Vache的new string(theChar, theCount)

答案

答案 3 :(得分:2)

试试这个:

string spacing = new String('\t', tabs);