假设我在C#中有一个StringBuilder,它执行以下操作:
StringBuilder sb = new StringBuilder();
string cat = "cat";
sb.Append("the ").Append(cat).(" in the hat");
string s = sb.ToString();
那种方式是否与以下方式同样有效或更有效:
string cat = "cat";
string s = String.Format("The {0} in the hat", cat);
如果是这样,为什么?编辑
看了一些有趣的答案后,我意识到我可能应该更清楚地表达我的问题。我不是在问哪个更快地连接字符串,而是在问哪个更快地将一个字符串注入到另一个字符串中。
在上面两种情况中,我都想将一个或多个字符串注入到预定义模板字符串的中间。
对于造成的困惑感到抱歉。
string s = "The "+cat+" in the hat";
可能是最快的,除非它用于循环,在这种情况下,最快的方法是使用在循环之外初始化的StringBuilder
。 - Surya Pratap