3

StringBuilder次のように、ループ内で文字列を連結するための選択であることを理解しています。

List<string> myListOfString = GetStringsFromDatabase();
var theStringBuilder = new StringBuilder();

foreach(string myString in myListOfString)
{
    theStringBuilder.Append(myString);
}

var result = theStringBuilder.ToString();

StringBuilderしかし、パフォーマンスが優れている、String.Join()またはその逆のシナリオは何ですか?

var theStringBuilder = new StringBuilder();
theStringBuilder.Append("Is this ");
theStringBuilder.Append("ever a good ");
theStringBuilder.Append("idea?");

var result = theStringBuilder.ToString();

また

string result = String.Join(" ", new String[]
            {
                "Or", "is", "this", "a", "better", "solution", "?"
            });

ガイダンスをいただければ幸いです。

編集: の作成オーバーヘッドがStringBuilder価値のないしきい値はありますか?

4

3 に答える 3