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