tags:

views:

99

answers:

2

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.

+5  A: 

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

string[] customerIDs = list.Select(x => x.ID).ToArray();
FryGuy
+2  A: 
List customerList = GetCustomerList();

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

More samples here.

o.k.w