4

我需要创建一个具有 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
  });
}

我不想运行循环来做到这一点,有没有更有效的方法来做到这一点。

4

1 回答 1

6

我会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
        });
}
于 2012-04-07T04:37:00.233 回答