通用List.Join

cou*_*011 3 c#-4.0

我有一个对象

public class Title
    {
        public int Id {get; set; }
        public string Title {get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

如何用" - "加入所有标题List<Title>

gor*_*ric 11

我认为这应该会给你你想要的东西.这将从每个对象中选择Title属性为字符串数组,然后将该数组的所有元素连接成' - '分隔的字符串.

List<Title> lst = new List<Title>
                    { 
                        new Title{Id = 1, Title = "title1"}, 
                        new Title{Id = 2, Title = "title2"} 
                    }
String.Join("-", lst.Select(x => x.Title).ToArray());
Run Code Online (Sandbox Code Playgroud)

如果您使用的是.NET 4.0或更高版本,那么现在有一个重载,String.Join这将允许您省略.ToArray():

String.Join("-", lst.Select(x => x.Title));
Run Code Online (Sandbox Code Playgroud)