2011-04-03 11 views
2

複数の文字列を組み合わせた文字列(つまり、stringbuilderまたはconcatを使用する)を書き出すときは、各文字列の間にスペースを挿入する必要があります。私はしばしばこれを次のようにしています:""のような文字列の間に空白を挿入する方法はありますか?

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

もっと簡単な方法がありますか?

おかげ

+3

3文字より簡潔ですか? – tenfour

+0

あなたの文章からは、文字列をコンソールに出力するように思えるので、StringBuilderは必要ないと思われます。ちょうど連結を使用してください。 – leetNightshade

+2

「私が文字列を書くときは...」と言ってどういう意味が分かりますか?どこに書きますか?あなたは本当にそのためにStringBuilderを使用する必要がありますか? – HABJAN

答えて

3

あなたはString.Formatメソッドを使用することができます。

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

またはあなたの場合:これは望ましくないかもしれない中間の文字列を作成することを

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

注:

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

動作しますが、人はスペースの周りの2つの文字列を連結するためにこの過剰です。 – leetNightshade

+0

sb.AppendFormat。 sb.AppendFormat。 sb.AppendFormat。 sb.AppendFormat。 sb.AppendFormat。 sb.AppendFormat。 sb.AppendFormat。 sb.AppendFormat。 sb.AppendFormat。 – x0n

+0

@ x0n:そうですね、忘れてしまいました。コードを更新しました。ありがとうございます。 – HABJAN

3

あなたはString.Join Methodを使用することができます。


少ない簡潔な、しかし、中間の文字列を避けて、このようなものになるだろう:

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

+1は2番目の提案ですが、最初は少し意味がないようです。 – LukeH

+0

実際には、十分に質問を読むと、 'String.Join'が最善の答えのようです。 "いくつかの文字列と組み合わせて[...]各文字列の間にスペースを挿入します" – Kobi

6

それは人々が完全にStringBuilderにAppendFormat法を無視どのように多くの奇妙です:

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

私はこのために行く:) – Guidhouse

+3

スペースを追加するためのそのような過労! – configurator

+0

@ configurator - 悪い答えがありますが、さらに悪い質問があります。 ;) – x0n

0

の場合あなたは純粋なスピードと効率的なメモリ使用の後に私は使用したいと思います...

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

読みやすくするために、あなたが与えた例がはっきりしています。あなたがタイトなループで何回この1000を実行している場合を除き

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

ゲインは、しかし、無視できるでしょうので、私は(つまりあなた)

0

エレガントな、読みやすいバージョンのために行くだろう「もっと簡潔な方法がありますか?」という質問に文字通り答えるには?答えは簡単です:

あなたが遭遇している実際の問題は、それを説明するためにいくつかのコードを指定したい場合、あなたはおそらく、より質の高い答えを得るでしょう。

関連する問題