Przeciwieństwo String.Split with separatory (.net)

96

Czy jest sposób na odwrotność tego String.Splitw .Net? To znaczy połączyć wszystkie elementy tablicy z danym separatorem.

Branie ["a", "b", "c"]i dawanie "a b c"(z separatorem " ").

AKTUALIZACJA: sam znalazłem odpowiedź. To jest String.Joinmetoda.

robintw
źródło
16
Zapomniałem, szukałem i znalazłem to pytanie / odpowiedź 3 razy w ciągu ostatniego roku.
iskrzy
8
Może to być mylące, ponieważ LINQ daje string[]metodę Join, która robi coś zupełnie innego.
yoozer8

Odpowiedzi:

10

Możesz użyć String.Join:

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

Chociaż bardziej szczegółowe, możesz również zastosować StringBuilderpodejście:

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
źródło