Opuesto a String.Split con separadores (.net)

96

¿Hay alguna forma de hacer lo contrario de String.Spliten .Net? Es decir, combinar todos los elementos de una matriz con un separador determinado.

Tomar ["a", "b", "c"]y dar "a b c"(con un separador de " ").

ACTUALIZACIÓN: encontré la respuesta yo mismo. Es el String.Joinmétodo.

robintw
fuente
16
He olvidado, buscado y encontrado esta pregunta / respuesta 3 veces en el último año.
chispas
8
Esto puede resultar confuso, ya que LINQ proporciona string[]un método Join que hace algo completamente diferente.
yoozer8

Respuestas:

10

Puede utilizar String.Join:

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

Aunque más detallado, también puede utilizar un StringBuilderenfoque:

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
fuente