StringBuilder vs字符串构造函数 - 字符

时间:2011-11-30 10:21:34

标签: c# .net

我刚看到像

这样的代码
        StringBuilder result = new StringBuilder();
        for (int i = 0; i < n; i++)
        {
            result.Append("?");
        }
        return result.ToString();

我知道与StringBuilder连接被认为更快(并且不会在每个追加上创建字符串的新实例)。但是有什么理由我们不愿意写

return new string('?', n) 

代替?

2 个答案:

答案 0 :(得分:7)

  

但是有什么理由我们不想写return new string("?", n)而不是

我能想到的唯一原因是开发人员对this string constructor的存在不熟悉。但对于熟悉它的人来说,不,没有理由不使用它。

你也可能意味着:

return new string('?', n) 

答案 1 :(得分:4)

不使用new string("?", n)的主要原因是没有这样的构造函数存在且不会编译。但是,绝对没有理由不使用new string('?', n),我完全鼓励您这样做。