Преобразовать список <интервал> в строку, к которой присоединяются, ints?

У меня есть международный массив со значением 3,99,6. Как я преобразовываю массив в строку 3,99,6 с linq?

15
задан abatishchev 1 June 2016 в 19:56
поделиться

2 ответа

int[] list = new [] {3, 99, 6};
string s = string.Join(",", list.Select(x => x.ToString()).ToArray());

Edit, C # 4.0

В C # 4.0 есть еще одна перегрузка string.Join , которая наконец позволяет передавать IEnumerable или IEnumerable напрямую. Нет необходимости создавать массив, а также нет необходимости вызывать ToString () , который вызывается неявно:

string s = string.Join(",", list);

С явным форматированием в строку:

string s = string.Join(",", list.Select(x => x.ToString(/*...*/));
23
ответ дан 1 December 2019 в 01:30
поделиться

Решение Стефана является правильным и практически обязательным для .NET 3.5. В .NET 4 есть перегрузка String. Join которая принимает IEnumerable, так что вы можете использовать:

string s = string.Join(",", list.Select(x => x.ToString());

или даже просто:

string s = string.Join(",", list);
12
ответ дан 1 December 2019 в 01:30
поделиться
Другие вопросы по тегам:

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