我需要创建一个自定义类型的List,其属性类型为int,int
public class CustomClass
{
public int EmployeeID{get;set;}
public int ClientID{get;set;}
}
我必须创建列表的两个参数是List和int
我的方法是
CreateCustomClassList(List<int> EmployeeIDList, int clientID}
{
List<CustomClass> lst=new List<CustomClass>();
EmployeeIDList.ForEach
(u=>lst.Add(new CustomClass
{
ClientID=clientID,
EmployeeID=u
});
}
我不想运行循环来执行此操作,是否有更有效的方法来执行此操作。
答案 0 :(得分:5)
我在这里使用ToList
:
List<CustomClass> lst = EmployeeIDList
.Select(employeeID => new CustomClass
{
ClientID = clientID,
EmployeeID = employeeID
})
.ToList();
它可能不会更有效率,但会更清楚 - 在我看来更为重要。
如果真的想要效率,那么你最好的选择可能就是你已经拒绝的解决方案 - 一个简单的循环:
List<CustomClass> lst = new List<CustomClass>(EmployeeIDList.Count);
foreach (int employeeID in EmployeeIDList) {
lst.Add(new CustomClass
{
ClientID = clientID,
EmployeeID = employeeID
});
}