2012-04-07 94 views
3

我需要創建int類型的屬性的自定義類型的列表,詮釋,我要創建列表清單創建使用自定義列表Lambda表達式

public class CustomClass 
{ 
    public int EmployeeID{get;set;} 
    public int ClientID{get;set;} 
} 

兩個參數和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

你'CustomClass'只有私有成員。那是故意的嗎?你的方法也沒有返回類型? – 2012-04-07 04:38:55

+0

@MarkByers沒有錯,我已經更新了。 – MegaMind 2012-04-07 04:43:45

回答

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 
     }); 
} 
+0

感謝馬克,你是否暗示'for循環'是有效的,'選擇' – MegaMind 2012-04-07 04:48:01

+0

感謝Kevin的寶貴意見 – MegaMind 2012-04-07 05:34:37