WayneC
WayneC

Reputation: 2560

"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 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

Answers (2)

o.k.w
o.k.w

Reputation: 25820

List customerList = GetCustomerList();

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

More samples here.

Upvotes: 2

FryGuy
FryGuy

Reputation: 8744

If you're using LINQ, you can do the following:

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

Upvotes: 6

Related Questions