当我写出一个结合了几个字符串的字符串(即使用stringbuilder或concat)时,我需要在每个字符串之间插入一个空格。我经常这样做:
StringBuilder sb = new StringBuilder();
sb.Append("a" + " " + "b");
是否有更简洁的方法来完成上述工作?
由于
答案 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)
从字面上回答你的问题“是否有更简洁的方法?”答案很简单:
没有
如果您想要指定一个您遇到的实际问题,需要一些代码来说明它,那么您可能会获得更高质量的答案。