2017-10-10 23 views
-2

比方說,我有一個對象,看起來像這樣:從列表中創建一個單一的項目列表<string><object>

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" 
+1

groups.Select List<string>(G => g.name ) – Shoe

+0

供將來參考'object'是所有其他類繼承的類,因此實際上可以有'List ',它與List 不完全相同, –

回答

2

只需使用LINQ:

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

這將Select()所有的名字,並把它變成一個通過ToList()

3

使用LINQ和Select方法:

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

非LINQ的答案

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