À l'opposé de String.Split with separators (.net)

96

Existe-t-il un moyen de faire le contraire de String.Split.Net? Autrement dit, 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 " ").

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

robintw
la source
16
J'ai oublié, recherché et trouvé cette question / réponse 3 fois au cours de la dernière année.
étincelles le
8
Cela peut prêter à confusion, car LINQ donne string[]une méthode Join qui fait quelque chose de complètement différent.
yoozer8

Réponses:

10

Vous pouvez utiliser String.Join:

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

Bien que plus verbeux, vous pouvez également utiliser une StringBuilderapproche:

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"
Budi
la source