Ответы:
Вы можете использовать String.Join. Если у вас есть, List<string>то вы можете позвонить ToArrayсначала:
List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());
В .NET 4 вам больше не нужно ToArray, так как есть перегрузка, String.Joinкоторая требует IEnumerable<string>.
Результаты:
Джон, Анна, Моника
Вы также можете сделать это с linq, если хотите
var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);
Хотя я предпочитаю синтаксис non-linq в ответе Quartermeister и думаю, что он Aggregateможет работать медленнее (возможно, больше операций конкатенации строк).
Aggregateлучше для операций типа Math. В случае со строками эта операция аналогична for eachвставке и добавлению строки, которая очень медленно работает неэффективно, поскольку вы создаете новую строку для каждого элемента, который существует в списке.