ale*_*exn 3 c# string-concatenation
如果我想连接一个字符串N次,我更喜欢哪种方法?
以此代码为例:
public static string Repeat(this string instance, int times)
{
var result = string.Empty;
for (int i = 0; i < times; i++)
result += instance;
return result;
}
Run Code Online (Sandbox Code Playgroud)
可以在"times"设置为5或5000的情况下调用此方法.我应该使用哪种方法?
的string.join?StringBuilder的?只是标准的string.Concat?
类似的功能将在商业图书馆中实施,所以我真的需要"最佳"的方式来做到这一点.
public static string Repeat(this string instance, int times)
{
if (times == 1 || string.IsNullOrEmpty(instance)) return instance;
if (times == 0) return "";
if (times < 0) throw new ArgumentOutOfRangeException("times");
StringBuilder sb = new StringBuilder(instance.Length * times);
for (int i = 0; i < times; i++)
sb.Append(instance);
return sb.ToString();
}
Run Code Online (Sandbox Code Playgroud)