У меня есть массив int со значением 3,99,6. Как преобразовать массив в строку 3,99,6
с помощью linq?
Преобразовать список <int> в объединенную строку ints?
Ответ 1
int[] list = new [] {3, 99, 6};
string s = string.Join(",", list.Select(x => x.ToString()).ToArray());
Изменить, С# 4.0
С С# 4.0 существует еще одна перегрузка string.Join
, которая, наконец, позволяет напрямую передавать IEnumerable<string>
или IEnumerable<T>
. Нет необходимости создавать массив, и нет необходимости вызывать ToString()
, который называется неявно:
string s = string.Join(",", list);
С явным форматированием в строку:
string s = string.Join(",", list.Select(x => x.ToString(/*...*/));
Ответ 2
Решение Stefan является правильным и в значительной степени требуется для .NET 3.5. В .NET 4 существует перегрузка String.Join
, которая принимает IEnumerable<string>
, поэтому вы можете использовать:
string s = string.Join(",", list.Select(x => x.ToString());
или даже просто:
string s = string.Join(",", list);