2014-02-13 58 views
0

如何將以下代碼從foreach循環轉換爲Linq?將代碼從Foreach循環轉換爲Linq

代碼:

foreach (WorkItemLinkInfo item in testResults) 
{ 
    var testitem = project.Store.GetTestItem(item.TestId); 
    testItemList.Add(testitem);         
} 
+1

什麼是testresults類型獲得測試項目? – mrida

+0

@mrida,類型是'(局部變量)WorkItemLinkInfo [] testResults' –

回答

1

這應該做它:

testItemList = testResults.Select(item => 
           project.Store.GetTestItem(item.TestId)) 
          .ToList(); 
3

試試這個:

testResults.Select(x=>project.Store.GetTestItem(x.TestId)) 
1
testItemList.AddRange(testResults.Select(t => project.Store.GetTestItem(t.TestId))); 

如果你只是這個循環之前創建testItemList你可以這樣做:

var testItemList = testResults.Select(t => project.Store.GetTestItem(t.TestId)).ToList(); 
2

這裏是LINQ版本:

var testItemList = testResults. 
Select(item=> project.Store.GetTestItem(item.TestId)). 
    ToList(); 

對於每一個測試結果的項目,通過測試結果項目的ID