连接字符串的最有效方法是什么?
.NET 性能大师 Rico Mariani 有一篇关于这个主题的文章。这并不像人们想象的那么简单。基本建议是:
如果您的模式如下所示:
x = f1(...) + f2(...) + f3(...) + f4(...)
这是一个连接,它很活泼,StringBuilder可能无济于事。
如果您的模式如下所示:
if (...) x += f1(...)
if (...) x += f2(...)
if (...) x += f3(...)
if (...) x += f4(...)
那么你可能需要StringBuilder。
支持这一说法的另一篇文章来自 Eric Lippert,他详细描述了在一行连接上执行的优化。+
该方法比使用运算符要好得多。但我发现,当执行 1000 个或更少的串联时,甚至比 .StringBuilder.Append()
+
String.Join()
StringBuilder
StringBuilder sb = new StringBuilder();
sb.Append(someString);
唯一的问题是您必须使用公共分隔符连接字符串。String.Join
编辑:正如@ryanversaw指出的那样,您可以制作 分隔符 .string.Empty
string key = String.Join("_", new String[]
{ "Customers_Contacts", customerID, database, SessionID });
有 6 种类型的字符串连接:
+
string.Concat()
string.Join()
string.Format()
string.Append()
StringBuilder
在实验中,已经证明,如果单词小于1000(大约),并且如果单词超过1000,则应使用,这是最好的方法。string.Concat()
StringBuilder
有关更多信息,请查看此站点。
字符串。Join() vs string。康卡特()
字符串。这里的 Concat 方法等效于字符串。使用空分隔符连接方法调用。附加空字符串很快,但不这样做会更快,所以字符串。康卡特方法在这里会更好。
模板简介:该模板名称为【C#连接字符串的最有效方法?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【C#】栏目查找您需要的精美模板。