 <p>3 extra strings for every item</p> <ul> <li><code>part[0];</code></li> <li><code>part[1];</code></li> <li><code>part[1] + " "</code></li> </ul> <p>the least allocations possible would be to avoid all the temporary allocations completely, but the usual micro-optimization caveats apply.</p> <pre><code>var start = part.IndexOf(':') + 1; stringbuilder.Append(part, start, part.Length-start).Append(' '); </code></pre>