2009-01-18 7 views
84

Existe-t-il un moyen de faire le contraire de String.Split dans .Net? C'est-à-dire, de combiner tous les éléments d'un tableau avec un séparateur donné. Prendre ["a", "b", "c"] et donner "a b c" (avec un séparateur de " ").En face de String.Split avec des séparateurs (.net)

MISE À JOUR: J'ai trouvé moi-même la réponse. C'est la méthode String.Join.

+15

J'ai oublié, recherché et trouvé cette question/réponse 3 fois dans la dernière année. – sparks

+8

Cela peut être déroutant, puisque LINQ donne 'chaine []' une méthode de jointure qui fait quelque chose de complètement différent. – yoozer8

Répondre

1

Vous pouvez utiliser String.Join:

string[] array = new string[] { "a", "b", "c" }; 
string separator = " "; 
string joined = String.Join(separator, array); // "a b c" 

Bien plus bavard, vous pouvez également utiliser une approche StringBuilder:

StringBuilder builder = new StringBuilder(); 

if (array.Length > 0) 
{ 
    builder.Append(array[0]); 
} 
for (var i = 1; i < array.Length; ++i) 
{ 
    builder.Append(separator); 
    builder.Append(array[i]); 
} 

string joined = builder.ToString(); // "a b c" 
Questions connexes