2010-07-09 23 views

Odpowiedz

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

Edit, C# 4.0

z C# 4.0, nie ma innego przeciążenie string.Join, który ostatecznie umożliwia przepuszczanie IEnumerable<string> lub IEnumerable<T> bezpośrednio. Nie ma potrzeby, aby utworzyć tablicę, a nie ma też potrzeby, aby zadzwonić ToString(), który nazywa się niejawnie:

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

Z wyraźną formatowania ciąg:

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

rozwiązanie Stefana jest poprawna, a prawie wymagane dla .NET 3.5. W .NET 4, nie ma overload of String.Join który bierze IEnumerable<string> więc można użyć:

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

lub nawet tylko:

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

* bardzo * dobrze wiedzieć, kiedy przełączyć na 4 –

+0

Czy toString () potrzebne? Wydaje się, że po prostu robi to samodzielnie, jako 'String.Join (", ", list);' – goodeye

+0

@goodeye: Tak, masz rację. –