将对象数组添加到扩展对象列表的最佳方法

时间:2011-12-22 13:11:16

标签: c#

我有一个名为'customerArray'的数组Customers[],我有一个名为'extendedCustomerList'的通用列表List<ExtendedCustomers>

ExtendedCustomer类包含一些属性,其中一个是'Customer'(是的,与数组中的对象相同),如下所示:

public class ExtendedCustomer {
     public Customer { get; set; }
     public OtherProperty { get; set; }
     ....
}

使用ExtendedCustomers将客户数组添加到列表中的最快/最好/最简单/最佳性能/最美妙的方法是什么? ExtendedCustomer中的其他属性可以保持默认的NULL值。

我不喜欢循环

3 个答案:

答案 0 :(得分:2)

您可以将AddRange()用于客户对扩展客户的预测:

extendedCustomerList.AddRange(customerArray.Select(
    c => new ExtendedCustomer() {
        Customer = c
    }));

答案 1 :(得分:2)

Customer[] customers = ...;
List<ExtendedCustomer> extendedCustomers = ...;
extendedCustomers.AddRange(
       customers.Select(c => new ExtendedCustomer{ Customer = c }));

答案 2 :(得分:2)

使用LINQ:

extendedCustomerList.AddRange(
    from customer in customerArray
    select new ExtendedCustomer {
        Customer = customer
    }
);