号外号外: 原[图享网]更名为 码友网(codedefault.com) 啦,感谢大家一路上的陪伴与支持。代码的世界里,码友网与大家一起同行!

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

.NET 作者: Rector 1060阅读 0评论 0收藏 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

.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将List<string>集合使用连接符连接成单个字符串?

发布于: 2018-01-11 13:49:59
分享扩散: