"Elegant" way to get list of list of property values from List<T> of objects?
Say I have a Customer
class with the usual properties: CustomerID
, Name
, etc.
As a result of a query, I get a generic list of Cu开发者_如何学运维stomer objects: List<Customer>
Is there an elegant way to get an array/list of CustomerID or Name property values from this generic list? (i.e. string[] customerIDs = ???? )
I know I could do a foreach
and fill an array during the loop, but was just wondering if there were a more elegant way through LINQ extensions and/or lambda expressions to do this.
Thanks.
If you're using LINQ, you can do the following:
string[] customerIDs = list.Select(x => x.ID).ToArray();
List customerList = GetCustomerList();
var customerIDs =
from c in customerList
select c.CustomerID;
More samples here.
精彩评论