Use the StringBuilder class for concatenating large numbers of strings
Do
var builder = new StringBuilder(); foreach (var word in words) { builder.Append(word).Append(' '); } string result = builder.ToString();
BEST
Span<char> buffer = stackalloc char[1024]; var pos = 0; foreach (var word in words) { word.AsSpan().CopyTo(buffer.Slice(pos)); pos += word.Length; buffer[pos++] = ' '; } string result = new string(buffer.Slice(0, pos));
Don't
string result = ""; foreach (var word in words) { result += word + " "; }