2009-09-05 90 views
3

我有標籤的對象數組獲取字符串數組從對象的數組

class Tag 
{ 
public string Name; 
public string Parent; 
} 

我想代碼返回的標記名稱的列表作爲字符串

+0

什麼?什麼名稱,名稱屬性或標籤實例標識符? – Tarik 2009-09-05 09:33:55

+0

名稱屬性是我想要的 – leora 2009-09-05 09:34:34

回答

5
var names = from t in tags 
      select t.Name; 

像這樣的事情會給你一個IEnumerable過名的LINQ查詢,只需使用.ToArray()如果你wan't那些陣列。

+0

或簡單地 tags.Select(T => t.Name); – 2009-09-05 12:00:36

0

的陣列,以盡其用IEnumerable接口。否則,你可以使用爲基本或foreach循環

0
return (from Tag in MyTagArray select Tag.Name).ToArray(); 
0
string[] tagArray = (from t in tagList select t.Name).ToArray(); 
0

我假設你想是這樣的:

public List<string> GetNamesOfTag(List<Tag> tags) 
{ 
    List<string> Name = new List<string>(); 
    foreach(Tag item in tags) 
    { 
    Name.Add(item.name); 
    } 

    returns Name; 
} 
+0

爲什麼不使用linq?你可以在一行代碼中做到這一點。 – Charlie 2009-09-05 09:39:04

+0

他說:「作爲一個字符串數組」 – 2009-09-05 09:39:14

+0

@Charlie:每個人都寫了LINQ的代碼,我想展示一些不同的東西。 – Tarik 2009-09-05 09:41:06

6

如何簡單:

var tags = new List<Tag> { 
    new Tag("1", "A"), 
    new Tag("2", "B"), 
    new Tag("3", "C"), 
}; 

List<string> names = tags.ConvertAll(t => t.Name); 

沒有LINQ的需要,如果你需要一個數組,調用ToArray()

+1

+1最好的解決方案:) – Charlie 2009-09-05 09:52:18

相關問題