是否有更简洁的方法在字符串之间插入空格而不是“”?

当我写出一个结合了几个字符串的字符串(即使用stringbuilder或concat)时,我需要在每个字符串之间插入一个空格。 我经常这样做:

StringBuilder sb = new StringBuilder(); sb.Append("a" + " " + "b"); 

有没有更简洁的方法来做上述事情?

谢谢

您可以使用String.Format方法。

 string test = String.Format("{0} {1} {2}", "part1", "part2", "part3"); 

或者在你的情况下:

 sb.AppendFormat("{0} {1}", a, b); 

奇怪的是有多少人完全忽略了StringBuilder上的AppendFormat方法:

 sb.AppendFormat("{0} {1}", str1, str2); 

您可以使用String.Join方法 :

 sb.Append(string.Join(" ", "a", "b")); 

请注意,这会创建一个中间字符串,这可能是不合需要的。


不那么简洁,但避免中间字符串,将是这样的:

 sb.Append("a").Append(' ').Append("b"); 

如果你追求纯粹的速度和高效的内存使用,我会用…

 sb.Append(str1); sb.Append(" "); sb.Append(str2); 

为了便于阅读,您提供的示例更清晰。

 sb.Apend(str1+" "+str2); 

然而,除非你在紧凑的循环中运行这1000次,否则增益是可以忽略的,所以我会选择优雅,易读的版本(即你的)

要从字面上回答你的问题“是否有更简洁的方法?” 答案很简单:

没有。

如果你想指定一个你遇到的实际问题,用一些代码来说明它,那么你可能会得到更高质量的答案。