StringBuilder

string.Join() używa StringBuildera pod spodem

Posted on Updated on

Jak w tytule. string.Join oraz string.Concat(IEnumerable) używają pod spodem StringBuildera, więc nie trzeba go explicite używać. Poniżej kod który można złączyć za pomocą StringBuildera (jak bym kiedyś zrobił) oraz string.Concat (czyli jak teraz dla czytelności będę robił).

var names = new[] { "john", "james", "robin" }; // and many, many more

// This is how I was doing it by always default
var sb = new StringBuilder();
foreach (var name in names)
{
    sb.Append(name);
}

var result = sb.ToString();

// This is better cause of readability
var result2 = string.Concat(names);

Całkiem krótki artykuł tłumaczący też inne zagwozdki z łączeniem stringów: Concatenating Strings Efficiently