Преобразовать массив строк в объединенную строку в C # - PullRequest
38 голосов
/ 20 августа 2009

Есть ли простой способ преобразовать массив строк в объединенную строку?

Например, у меня есть строковый массив:

new string[]{"Apples", "Bananas", "Cherries"};

И я хочу получить одну строку:

"Apples,Bananas,Cherries"

Или "Apples&Bananas&Cherries" или "Apples\Bananas\Cherries"

Ответы [ 4 ]

71 голосов
/ 20 августа 2009

Простой ...

string[] theArray = new string[]{"Apples", "Bananas", "Cherries"};
string s = string.Join(",",theArray);
10 голосов
/ 20 августа 2009

Очевидным выбором является, конечно, метод String.Join.

Вот альтернатива LINQy:

string.Concat(fruit.Select((s, i) => (i == 0 ? "" : ",") + s).ToArray())

(На самом деле не очень полезно, так как оно делает то же самое, что и метод Join, но, возможно, для расширения там, где метод не может идти, как чередующиеся разделители ...)

9 голосов
/ 20 августа 2009
1 голос
/ 28 ноября 2016

Вы можете использовать Агрегат , он применяет функцию накопителя к последовательности.

string[] test = new string[]{"Apples", "Bananas", "Cherries"};
char delemeter = ',';
string joinedString = test.Aggregate((prev, current) => prev + delemeter + current);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...