从List <object>创建单个项List <string>

时间:2017-10-10 14:37:46

标签: c# linq

假设我有一个看起来像这样的对象:

private class Group
{
    public int id { get; set; }
    public string name { get; set; }
    public int memberCount { get; set; }
}

然后我有List<Group>名为groups。但是,现在我需要的只是所有名字的列表。

List<string> names = group.???

所以,要明确一点,如果groups看起来像这样:

id    name        memberCount
-----------------------------
1,   "Math Club",    24
2,   "Chess Club",   12
3,   "Drama Club",   19

然后我想要的是一个如下所示的列表:

"Math Club"
"Chess Club"
"Drama Club"

3 个答案:

答案 0 :(得分:3)

使用LINQ和Select方法:

var Names = groups.Select(c => c.name).ToList();

答案 1 :(得分:2)

只需使用LINQ:

List<string> names = groups.Select(x => x.name).ToList();

这将Select()所有名称,并通过ToList()将其转换为List<string>

答案 2 :(得分:1)

Non Linq回答

List<string> names = new List<string>();
foreach(var group in groups)
{
    names.Add(group.name);
}