我刚看到像
这样的代码 StringBuilder result = new StringBuilder();
for (int i = 0; i < n; i++)
{
result.Append("?");
}
return result.ToString();
我知道与StringBuilder连接被认为更快(并且不会在每个追加上创建字符串的新实例)。但是有什么理由我们不愿意写
return new string('?', n)
代替?
答案 0 :(得分:7)
但是有什么理由我们不想写
return new string("?", n)
而不是
我能想到的唯一原因是开发人员对this string constructor的存在不熟悉。但对于熟悉它的人来说,不,没有理由不使用它。
你也可能意味着:
return new string('?', n)
答案 1 :(得分:4)
不使用new string("?", n)
的主要原因是没有这样的构造函数存在且不会编译。但是,绝对没有理由不使用new string('?', n)
,我完全鼓励您这样做。