Reputation: 2560
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 Customer 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.
Upvotes: 4
Views: 322
Reputation: 25820
List customerList = GetCustomerList();
var customerIDs =
from c in customerList
select c.CustomerID;
More samples here.
Upvotes: 2
Reputation: 8744
If you're using LINQ, you can do the following:
string[] customerIDs = list.Select(x => x.ID).ToArray();
Upvotes: 6