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

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

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

1
2
3
4
5

Мой ожидаемый вывод был бы:

1, 2, 3, 4, 5

Является этим возможным использованием LINQ?

Спасибо

33
задан abatishchev 12 August 2010 в 14:30
поделиться

4 ответа

В .NET 2/3

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

или (в .NET 4.0)

var csv = string.Join( ", ", list );
104
ответ дан 27 November 2019 в 17:31
поделиться

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

// 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);
3
ответ дан 27 November 2019 в 17:31
поделиться
string csv = String.Join(", ", list.Select(i=> i.ToString()).ToArray());
2
ответ дан 27 November 2019 в 17:31
поделиться
String.Join(", ", list); //in .NET 4.0

и

String.Join(", ", list        
    .Select(i => i.ToString()).ToArray()) //in .NET 3.5 and below
0
ответ дан 27 November 2019 в 17:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: