Відповіді:
Можна використовувати 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 eaching та просто додавання до рядка, який дуже повільний і неефективний, оскільки ви створюєте нову рядок для кожного елемента, який існує у списку.