2009-08-20 13 views

Respuesta

70

Un sencillo ...

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

Oye, realmente lo sabía. ¡Hoy hace mucho calor en la oficina y no he tomado un café! Gracias. –

+1

Aunque se siente un poco extraño. Pienso que es más una acción en una matriz que una acción en una cadena, por lo que sería más "natural" que busque esa función en la clase de matriz. Pero gracias, no sabía que había una manera de unirse a una cadena [] (¡así que no más para construcciones)! +1 – Gertjan

+1

Pero solo se aplicará a 'string []', no a ninguna otra, por lo que no encaja perfectamente en la implementación de matriz "normal". Pero puede agregarlo como un método de extensión C * 3.0 * * a 'esta cadena []'. –

10

La elección obvia es, por supuesto, el método String.Join.

Aquí es una alternativa LINQy:

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

(No es realmente útil, ya que se erige como lo hace el mismo que el método de unión, pero quizás para la expansión, donde el método no puede ir, como separadores alternando .. .)

0

Puede usar Aggregate, aplica una función de acumulador en una secuencia.

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