最有效的方法来连接字符串?
连接字符串的最有效方法是什么?
StringBuilder.Append()方法比使用+运算符要好得多。 但是我发现,当执行1000个或更少的连接时, String.Join()比StringBuilder更有效率。
StringBuilder sb = new StringBuilder();
sb.Append(someString);
String.Join的唯一问题是您必须使用公共分隔符连接字符串。 (编辑:)如@ryanversaw指出的,你可以使分隔字符串.Empty。
string key = String.Join("_", new String[]
{ "Customers_Contacts", customerID, database, SessionID });
.NET Performance guru Rico Mariani在这个主题上写了一篇文章。 这并不像人们怀疑的那么简单。 基本的建议是这样的:
如果你的模式看起来像:
x = f1(...) + f2(...) + f3(...) + f4(...)
这是一个concat,它是zippy,StringBuilder可能无济于事。
如果你的模式看起来像:
if (...) x += f1(...)
if (...) x += f2(...)
if (...) x += f3(...)
if (...) x += f4(...)
那么你可能需要StringBuilder。
另一篇支持这一说法的文章来自Eric Lippert,他在那篇文章中详细描述了在一行+连接中执行的优化。
有6种类型的字符串连接:
+ )符号。 string.Concat() 。 string.Join() 。 string.Format() 。 string.Append() 。 StringBuilder 。 在一个实验中,已经证明string.Concat()是最好的方法,如果单词少于1000(大约),如果单词超过1000,那么应该使用StringBuilder 。
欲了解更多信息,请查看本网站。
string.Join()vs string.Concat()
这里的string.Concat方法等同于带有空分隔符的string.Join方法调用。 附加一个空字符串很快,但不这样做更快,所以string.Concat方法在这里会更好。
链接地址: http://www.djcxy.com/p/50507.html