Преобразовать список <int> в список строк с разделителями
Возможный дубликат:
самый элегантный способ вернуть строку из списка <int>
Я не уверен, что это самый простой способ. Я просто хочу добавить a; между каждым значением и выплюнуть его как одну строку. Я не вижу, что вы можете сделать это с помощью ToString(). Мне нужно было бы выполнить цикл и создать строковый конструктор и добавить и добавить ";".
Ответы
Ответ 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();