StringBuilder is NOT the answer for all string concatenation scenarios; String.Join could be
Yes, if you are in a loop and adding to a string, then a StringBuilder *could* be most appropriate. However, the overhead of spinning up a StringBuilder instance makes the following pretty dumb: var sb = new StringBuilder(); sb.Append("This is "); sb.Append("not more efficient"); sb.Append(" solution."); var str= sb.ToString(); Instead, use String.Join , which is typically more performant than spinning up a StringBuilder instance for a limited number of strings. It’s my go-to concat option: string myString = String.Join(" ", new String[] { "This", "is", "a", "much", "better", solution, "."}); The first variable of " " can just be set to "" when you don’t want a delimiter. For loops that do a lot of looping, sure, use a StringBuilder. But just don’t assume it’s the de facto solution in all, or even the majority of cases. My rule of thumb ...