Навпроти рядка. Розбиття з роздільниками (.net)


96

Чи є спосіб зробити протилежне до String.Split.Net? Тобто об’єднати всі елементи масиву із заданим роздільником.

Взяття ["a", "b", "c"]і дача "a b c"(з роздільником " ").

ОНОВЛЕННЯ: Я сам знайшов відповідь. Це String.Joinметод.


16
За останній рік я тричі забував, шукав і знайшов це питання / відповідь.
іскриться

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"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.