使用string.concat或字符串构建器更好吗?

Nis*_*sha 2 c# string

使用string.concat或字符串构建器更好吗?谁能解释我在什么情况下我应该使用这两个?

有一个问题在这里,解释的表现,我想知道在哪里使用string.concat何避免呢?

提前致谢.

Dmi*_*nko 5

正如您从参考源中看到的那样

http://referencesource.microsoft.com/#mscorlib/system/string.cs,206408f6325aea24

    [ComVisible(false)]
    public static String Concat(IEnumerable<String> values) {
        if (values == null)
            throw new ArgumentNullException("values");
        Contract.Ensures(Contract.Result<String>() != null);
        Contract.EndContractBlock();

        StringBuilder result = StringBuilderCache.Acquire();
        using(IEnumerator<String> en = values.GetEnumerator()) {
            while (en.MoveNext()) {
                if (en.Current != null) {
                    result.Append(en.Current);
                }
            }            
        }
        return StringBuilderCache.GetStringAndRelease(result);            
    }
Run Code Online (Sandbox Code Playgroud)

String.Concat使用StringBuilder这就是两种方法大致相同的原因.

  • 当对`string.Concat()`进行许多单独调用时,例如在循环中调用它时,这并没有解决常见模式.在这种情况下,应该使用`StringBuilder`. (4认同)