2009-12-22 22 views
4

說我有一個Customer類的常用屬性:CustomerIDName從對象列表<T>中獲取屬性值列表的「優雅」方式?

作爲查詢的結果,我得到Customer對象的泛型列表:List<Customer>

有一種優雅的方式來從這個通用列表中獲取CustomerID或Name屬性值的數組/列表? (即string [] customerIDs = ????)

我知道我可以做一個foreach並在循環中填充數組,但只是想知道是否有更優雅的方式通過LINQ擴展和/或lambda表達式去做這個。

謝謝。

回答

6

如果你使用LINQ,你可以做到以下幾點:

string[] customerIDs = list.Select(x => x.ID).ToArray(); 
+0

有沒有辦法做一些類似的,沒有LINQ?由於我們仍在使用C#2.0,因此目前暫時無法使用。 – 2012-02-01 16:28:39

+0

沒有「優雅」的方式來做到這一點。您需要創建一個合適大小的新數組,並逐個將其填充到for循環中。 – FryGuy 2012-04-02 23:17:11

2
List customerList = GetCustomerList(); 

var customerIDs = 
    from c in customerList 
    select c.CustomerID; 

更多的樣本here

相關問題