首页 / .NET / 正文

.NET[C#]LINQ将List<string>集合使用连接符连接成单个字符串?

8264 1评论 发布于: 2018-01-11 读完约需3分钟

.NET[C#]LINQ将List<string>集合使用连接符连接成单个字符串?

问题描述

比如有字符串集合:

List<string> items = new List<string>() { "foo", "boo", "john", "doe" };

如何使用LINQ将其连接成:foo,boo,john,doe 的单个字符串呢?

方案一

string delimiter = ",";
List<string> items = new List<string>() { "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<Foo> items = new List<Foo>() { 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();

    }
}

方案二

.NET 4.0 或者以上版本

var str = string.Join(delimiter, list);

.NET 4.0以下的版本:

var str = string.Join(delimiter, list.ToArray());

或者

var str = string.Join(delimiter, list.Select(i => i.Boo).ToArray());

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: .NET[C#]LINQ中IEnumerable<T>如何实现ForEach的遍历?

下一篇: [SQL Server]SQL Server数据库中判断数据存在则更新,不存在则插入数据的方法有哪些?

本文永久链接码友网 » .NET[C#]LINQ将List<string>集合使用连接符连接成单个字符串?

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册

热门评论

一只鱼 (2022-07-26 08:51)

没有人吗?
回复 赞(0)
  • 有的呢

    Rector · 2022-07-26 08:52 赞(0)