是否有更简洁的方法在字符串之间插入空格而不是“”?
当我写出一个结合了几个字符串的字符串(即使用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次,否则增益是可以忽略的,所以我会选择优雅,易读的版本(即你的)
要从字面上回答你的问题“是否有更简洁的方法?” 答案很简单:
没有。
如果你想指定一个你遇到的实际问题,用一些代码来说明它,那么你可能会得到更高质量的答案。