2009-01-18 28 views
84

¿Hay alguna manera de hacer lo contrario de String.Split en .Net? Es decir, combinar todos los elementos de una matriz con un separador dado.Opuesto a String.Split con separadores (.net)

Tomando ["a", "b", "c"] y dando "a b c" (con un separador de " ").

ACTUALIZACIÓN: Encontré la respuesta yo mismo. Es el método String.Join.

+15

he olvidado, buscado y encontrado esta pregunta/respuesta 3 veces en el año pasado. – sparks

+8

Esto puede ser confuso, ya que LINQ le da a 'string []' un método Join que hace algo completamente diferente. – yoozer8

Respuesta

1

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 detallada, también puede utilizar un enfoque 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"