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

时间:2011-04-03 21:46:13

标签: c# string

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

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

是否有更简洁的方法来完成上述工作?

由于

5 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:5)

您可以使用String.Format方法。

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

或者在你的情况下:

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

答案 2 :(得分:3)

您可以使用String.Join Method

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

请注意,这会创建一个中间字符串,这可能是不受欢迎的。


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

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

答案 3 :(得分:0)

如果您使用纯粹的速度和高效的内存使用,我会使用...

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

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

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

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

答案 4 :(得分:-1)

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

没有

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