我正在尝试使用动态ammount在单词之间创建一个简单的制表符空间。我该怎么做?
就像这样:
string p1 = keysC[pos]+"="+valsC[pos];
int tabs = (60 - p1.Length) / 4;
wr.WriteLine(p1 + ("\t" * tabs) +"//"+comsC[pos]);
答案 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);