2010-10-15 119 views
3

使用C#,我有一個Foo類型的List,它有一個字符串屬性Bar。 我想使用Bar屬性將此列表轉換爲字符串數組。List <T> to string []

有沒有一種簡單的(LINQ?)方式來做到這一點,而無需循環收集?

回答

12
List<Foo> l = GetMyList(); 
string[] myStrings = l.Select(i => i.Bar).ToArray(); 

請注意,就像所有的linq代碼一樣,這仍然會循環收集 - 您只是不要自己編寫循環。

另外請注意,您應該避免調用.ToArray(),直到最後一刻。你確定IEnumerable在這裏不夠好嗎?

+0

是的,我重寫別人的類,它需要一個字符串[]。 – mattdwen 2010-10-15 00:45:53

4

試試這個:

string[] bars = myList.Select(x => x.Bar).ToArray();