从List <t>对象中获取属性值列表的“优雅”方法?</t>

时间:2009-12-22 05:00:07

标签: c# .net generics

说我有一个Customer类,其中包含常用属性:CustomerIDName等。

作为查询的结果,我得到了一个Customer对象的通用列表:List<Customer>

是否有一种优雅的方法可以从此通用列表中获取CustomerID或Name属性值的数组/列表? (即string [] customerIDs = ????)

我知道我可以在循环期间执行foreach并填充数组,但只是想知道是否有更优雅的方式通过LINQ扩展和/或lambda表达式来执行此操作。

感谢。

2 个答案:

答案 0 :(得分:6)

如果您正在使用LINQ,则可以执行以下操作:

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

答案 1 :(得分:2)

List customerList = GetCustomerList();

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

更多样本here