2009-08-20 10 views

risposta

70

Un semplice ...

string[] theArray = new string[]{"Apples", "Bananas", "Cherries"}; 
string s = string.Join(",",theArray); 
+5

Ehi, lo sapevo davvero. Oggi fa molto caldo in ufficio e non ho preso un caffè! Grazie. –

+1

Anche se sembra un po 'strano. Pensa che sia più un'azione su una matrice che un'azione su una stringa, quindi sarebbe più "naturale" per me cercare una tale funzione nella classe dell'array. Ma grazie, non sapevo che esistesse un modo per unire una stringa [] (quindi non più per le costruzioni)! +1 – Gertjan

+1

Ma si applicherebbe solo a 'string []', non a nessun altro - quindi non si adatta perfettamente all'implementazione dell'array "normale". Ma potresti aggiungerlo come un metodo di estensione C# 3.0 * a 'questa stringa []'. –

10

La scelta ovvia è ovviamente il metodo String.Join.

Ecco un'alternativa LINQy:

string.Concat(fruit.Select((s, i) => (i == 0 ? "" : ",") + s).ToArray()) 

(non molto utile nella sua forma attuale, come fa lo stesso del metodo join, ma forse per l'espansione in cui il metodo non può andare, come separatori alternati .. .)

0

È possibile utilizzare Aggregate, applica una funzione di accumulatore su una sequenza.

string[] test = new string[]{"Apples", "Bananas", "Cherries"}; 
char delemeter = ','; 
string joinedString = test.Aggregate((prev, current) => prev + delemeter + current); 
Problemi correlati