Объедините все строки внутри List <string> с помощью LINQ

Предупреждение - серьезные проблемы с производительностью

Хотя этот ответ дает желаемый .net-framework-3.5 результат, он страдает низкой c#-language производительностью по сравнению .net-3.5 с другими ответами здесь. Будьте linq очень осторожны, принимая .net-framework-3.5 решение использовать его


При c#-language использовании LINQ это должно language-integrated-query работать;

string delimiter = ",";
List items = new List() { "foo", "boo", "john", "doe" };
Console.WriteLine(items.Aggregate((i, j) => i + delimiter + j));

описание класса:

public class Foo
{
    public string Boo { get; set; }
}

Использование:

class Program
{
    static void Main(string[] args)
    {
        string delimiter = ",";
        List items = new List() { new Foo { Boo = "ABC" }, new Foo { Boo = "DEF" },
            new Foo { Boo = "GHI" }, new Foo { Boo = "JKL" } };

        Console.WriteLine(items.Aggregate((i, j) => new Foo{Boo = (i.Boo + delimiter + j.Boo)}).Boo);
        Console.ReadKey();

    }
}

А csharp вот и мой лучший :)

items.Select(i => i.Boo).Aggregate((i, j) => i + delimiter + j)

c#

linq

.net-3.5

2022-10-28T22:18:31+00:00