Подтвердить что ты не робот

Как преобразовать IEnumerable <string> в одну строку, разделенную запятой?

Скажем, что для целей отладки я хочу быстро получить содержимое IEnumerable в однострочную строку с каждым разделенным запятой строкой. Я могу сделать это в вспомогательном методе с циклом foreach, но это не весело и не кратковременно. Можно ли использовать Linq? Какой-то другой короткий путь?

4b9b3361

Ответ 1

using System;
using System.Collections.Generic;
using System.Linq;

class C
{
    public static void Main()
    {
        var a = new []{
            "First", "Second", "Third"
        };

        System.Console.Write(string.Join(",", a));

    }
}

Ответ 2

string output = String.Join(",", yourEnumerable);

String.Join Method (String, IEnumerable

Объединение элементов построенной коллекции IEnumerable тип String, используя указанный разделитель между каждым элементом.

Ответ 3

collection.Aggregate("", (str, obj) => str + obj.ToString() + ",");

Ответ 4

IEnumerable<string> foo = 
var result = string.Join( ",", foo );

Ответ 5

чтобы присоединиться к большому массиву строк к строке, напрямую не использовать +, использовать StringBuilder для итерации один за другим или String.Join одним выстрелом.

Ответ 6

(а) Установите IEnumerable:

        // In this case we are using a list. You can also use an array etc..
        List<string> items = new List<string>() { "WA01", "WA02", "WA03", "WA04", "WA01" };

(б) Соединить IEnumerable Вместе в строку:

        // Now let us join them all together:
        string commaSeparatedString = String.Join(", ", items);

        // This is the expected result: "WA01, WA02, WA03, WA04, WA01"

(c) Для целей отладки:

        Console.WriteLine(commaSeparatedString);
        Console.ReadLine();