У меня есть список целых чисел, и я хочу смочь преобразовать это в строку, где каждое число разделяется запятой.
До сих пор пример, если мой список был:
1
2
3
4
5
Мой ожидаемый вывод был бы:
1, 2, 3, 4, 5
Является этим возможным использованием LINQ?
Спасибо
В .NET 2/3
var csv = string.Join( ", ", list.Select( i => i.ToString() ).ToArray() );
или (в .NET 4.0)
var csv = string.Join( ", ", list );
Это то, что вы ищете?
// Can be int[], List<int>, IEnumerable<int>, ...
int[] myIntegerList = ...;
string myCSV = string.Join(", ", myIntegerList.Select(i => i.ToString()).ToArray());
Начиная с C # 4.0 дополнительная болтовня больше не нужна, все работает автоматически:
// Can be int[], List<int>, IEnumerable<int>, ...
int[] myIntegerList = ...;
string myCSV = string.Join(", ", myIntegerList);
string csv = String.Join(", ", list.Select(i=> i.ToString()).ToArray());
String.Join(", ", list); //in .NET 4.0
и
String.Join(", ", list
.Select(i => i.ToString()).ToArray()) //in .NET 3.5 and below