2010-07-09 4 views

ответ

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

Редактировать C# 4.0

С C# 4.0, есть еще одна перегрузка string.Join, что в конечном итоге обеспечивает пропускание IEnumerable<string> или IEnumerable<T> непосредственно. Там нет необходимости создавать массив, и также нет необходимости вызывать ToString(), который называется неявным:

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

При явном форматирования для строки:

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

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

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

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

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

* * очень хорошо, чтобы знать, когда я перейти на 4 –

+0

ли ToString () необходимо? Кажется, это просто само по себе, как «String.Join («, », list);' – goodeye

+0

@goodeye: Да, вы правы. –

Смежные вопросы