2009-05-12 9 views
8

Disons que j'ai un tableau de chaînes:Qu'est-ce qu'un moyen efficace de concaténer toutes les chaînes d'un tableau en les séparant avec un espace?

string[] myStrings = new string[] { "First", "Second", "Third" }; 

Je veux les concaténer de sorte que la sortie est:

First Second Third 

Je sais que je peux les concaténer comme ça, mais il n'y aura pas espace entre:

string output = String.Concat(myStrings.ToArray()); 

Je ne peux évidemment faire cela dans une boucle, mais j'espérais une meilleure façon.

Existe-t-il une façon plus succincte de faire ce que je veux?

Répondre

29

Essayez ceci:

String output = String.Join(" ", myStrings); 
+0

parfait, merci de – Damovisa

1
StringBuilder buf = new StringBuilder(); 
foreach(var s in myStrings) 
    buf.Append(s).Append(" "); 
var ss = buf.ToString().Trim(); 
+0

Ouais, ça va travailler, mais je visais une place en une ligne :) – Damovisa

+2

One liners sont surévaluées. :) –

+0

Je serais curieux de voir le code IL de ceci et un String.Join(). J'aimerais penser qu'ils sont pareils. – mmcdole

Questions connexes