如何将以下代码从foreach循环转换为Linq?
代码:
foreach (WorkItemLinkInfo item in testResults)
{
var testitem = project.Store.GetTestItem(item.TestId);
testItemList.Add(testitem);
}
答案 0 :(得分:3)
试试这个:
testResults.Select(x=>project.Store.GetTestItem(x.TestId))
答案 1 :(得分:2)
这是LINQ版本:
var testItemList = testResults.
Select(item=> project.Store.GetTestItem(item.TestId)).
ToList();
对于每个测试结果项,按测试结果项的ID获取测试项
答案 2 :(得分:1)
testItemList.AddRange(testResults.Select(t => project.Store.GetTestItem(t.TestId)));
如果您在此循环之前创建testItemList
,则可以执行以下操作:
var testItemList = testResults.Select(t => project.Store.GetTestItem(t.TestId)).ToList();
答案 3 :(得分:1)
这应该这样做:
testItemList = testResults.Select(item =>
project.Store.GetTestItem(item.TestId))
.ToList();