Подтвердить что ты не робот

Преобразовать список <int> в список строк с разделителями

Возможный дубликат:
самый элегантный способ вернуть строку из списка <int>

Я не уверен, что это самый простой способ. Я просто хочу добавить a; между каждым значением и выплюнуть его как одну строку. Я не вижу, что вы можете сделать это с помощью ToString(). Мне нужно было бы выполнить цикл и создать строковый конструктор и добавить и добавить ";".

4b9b3361

Ответ 1

ОБНОВЛЕНО, чтобы использовать List<int> вместо List<string>

Используйте string.Join:

List<int> data = ..;
var result = string.Join(";", data); // (.NET 4.0+)
var result = string.Join(";", data.Select(x => x.ToString()).ToArray()); // (.NET 3.5)

Ответ 2

string.Join(";", myList.ToArray());

Ответ 3

Просто используйте соединение

string combinedString = String.Join(";", arrayName);

Ответ 4

List<String> list = new List<String>() { "A", "B", "C", "D", "E" };
String joindString1 = String.Join(";", list.ToArray());
String joindString2 = list.Aggregate((s1, s2) => s1 + ";" + s2);

Ответ 5

Вы также можете использовать Enumerable.Aggregate, который может обеспечить дополнительную гибкость.

var data = new List<int> { 1,2,3 };
var sb = new StringBuilder(100);

// do some other stuff with sb

sb = data.Aggregate(sb, (b, d) => b.Append(d).Append(';'));
if( data.Count > 0 ) sb.Length--;

//do some more stuff with sb

var str = sb.ToString();