Сколько строк вы будете объединять? Вы точно знаете, сколько их будет, или это зависит от того, сколько записей в базе данных и т. Д.?
См. мою статью на эту тему для получения более подробной информации и рекомендаций - но, по сути, находясь в веб-приложении, не имеет значения, насколько дорогой конкатенация строк по сравнению с использованием StringBuilder.
РЕДАКТИРОВАТЬ: Боюсь, это все еще не совсем ясно из вопроса, что именно вы делаете. Если у вас есть фиксированный набор строк для конкатенации, и вы можете сделать все это за один раз, то это быстрее и, вероятно, более читабельно сделать это с помощью конкатенации. Например:
string faster = first + " " + second + " " + third + "; " + fourth;
string slower = new StringBuilder().Append(first)
.Append(" ")
.Append(second)
.Append(" ")
.Append(third)
.Append("; ")
.Append(fourth)
.ToString();
Другая альтернатива - это, конечно, использовать строку формата. Это может быть самый медленный, но самый читаемый:
string readable = string.Format("{0} {1} {2}; {3}",
first, second, third, fourth);
Часть вашего вопроса, в которой упоминается «добавление ссылки каждый раз», предлагает использовать для этого аспекта StringBuilder - все, что естественным образом приводит к циклу, более эффективно (для средних и больших чисел) с использованием StringBuilder.