Напротив String.Split с разделителями (.net)

96

Есть ли способ сделать противоположное String.Splitв .Net? То есть объединить все элементы массива с заданным разделителем.

Прием ["a", "b", "c"]и подача "a b c"(с разделителем " ").

ОБНОВЛЕНИЕ: Я сам нашел ответ. Это String.Joinметод.

robintw
источник
16
Я забыл, искал и нашел этот вопрос / ответ 3 раза за последний год.
Sparks
8
Это может сбивать с толку, поскольку LINQ предоставляет string[]метод Join, который делает что-то совершенно другое.
yoozer8

Ответы:

10

Вы можете использовать String.Join:

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

Хотя более подробный, вы также можете использовать 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"
Буди
источник