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

Использование LINQ для преобразования списка в строку CSV

У меня есть список целых чисел, и я хочу, чтобы иметь возможность преобразовать это в строку, где каждое число разделяется запятой.

До сих пор пример, если мой список:

1
2
3
4
5

Мой ожидаемый результат:

1, 2, 3, 4, 5

Возможно ли это с помощью LINQ?

Спасибо

4b9b3361

Ответ 1

В .NET 2/3

var csv = string.Join( ", ", list.Select( i => i.ToString() ).ToArray() );

или (в .NET 4.0)

var csv = string.Join( ", ", list );

Ответ 2

Это то, что вы ищете?

// Can be int[], List<int>, IEnumerable<int>, ...
int[] myIntegerList = ...;

string myCSV = string.Join(", ", myIntegerList.Select(i => i.ToString()).ToArray());

Начиная с С# 4.0, лишний mumbojumbo больше не нужен, все работает автоматически:

// Can be int[], List<int>, IEnumerable<int>, ...
int[] myIntegerList = ...;

string myCSV = string.Join(", ", myIntegerList);

Ответ 3

string csv = String.Join(", ", list.Select(i=> i.ToString()).ToArray());

Ответ 4

String.Join(", ", list); //in .NET 4.0

и

String.Join(", ", list        
    .Select(i => i.ToString()).ToArray()) //in .NET 3.5 and below