假设我在C#中有一个stringbuilder来执行此操作:
StringBuilder sb = new StringBuilder();
string cat = "cat";
sb.Append("the ").Append(cat).(" in the hat");
string s = sb.ToString();
Run Code Online (Sandbox Code Playgroud)
那将是有效的或更高效的:
string cat = "cat";
string s = String.Format("The {0} in the hat", cat);
Run Code Online (Sandbox Code Playgroud)
如果是这样,为什么?
编辑
在一些有趣的答案之后,我意识到我可能应该对我的要求更加清楚.我没有那么多要求连接字符串哪个更快,但是将一个字符串注入另一个字符串更快.
在上面两种情况下,我想将一个或多个字符串注入预定义模板字符串的中间.
对困惑感到抱歉
从昨天开始,我一直在尝试下载.NET 4的源代码(http://referencesource.microsoft.com/netframework.aspx),但它不起作用.
单击IE中的下载链接,FF会刷新页面但下载不会启动.
点击Chrome中的下载链接确实开始下载,但它名为netframework.aspx,没有任何迹象表明下载量有多大.无论如何,尝试使用DAP下载也没有结果.
我在两台不同的机器上尝试了这个,结果相同.我的所有安装(包括Windows)都保持最新.
任何建议或真实的替代品将不胜感激.
我正在使用子字符串构建一串数据.我想要的数据格式是
[1,2,3,4,5,6,7,8,9,10]
Run Code Online (Sandbox Code Playgroud)
所以我按照以下方式构建它
StringBuilder sb = new StringBuilder();
sb.append("1,");
sb.append("2,");
sb.append("3,");
.
.
.
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是我想,在添加结束之前修剪最终结果].
我可以
sb.ToString();
sb.Substring(0, (sb.Length - 1));
sb += "]";
Run Code Online (Sandbox Code Playgroud)
但是使用+ =效率不高,因为这会创建一个新字符串.有没有更好的方法呢?