Oposto de String.Split with separators (.net)

96

Existe uma maneira de fazer o oposto de String.Split.Net? Ou seja, combinar todos os elementos de um array com um determinado separador.

Receber ["a", "b", "c"]e dar "a b c"(com um separador de " ").

ATUALIZAÇÃO: eu mesmo encontrei a resposta. É o String.Joinmétodo.

robintw
fonte
16
Eu esqueci, procurei e encontrei esta pergunta / resposta 3 vezes agora no ano passado.
faíscas de
8
Isso pode ficar confuso, pois o LINQ fornece string[]um método Join que faz algo completamente diferente.
yoozer8

Respostas:

10

Você pode usar String.Join:

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

Embora mais detalhado, você também pode usar uma StringBuilderabordagem:

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
fonte