如何切换该代码以使用LINQ

Del*_*ate 5 .net c# linq

我知道使用LINQ而不是迭代循环是好的做法,我可以修改此代码以使用LINQ吗?

List<string> priorsLstIDs = ServiceUtil.extractColumnValuesAsStringVals(tqrPriors,Helper.STUDY_ID);
List<DateTime> priorsLstDates = ServiceUtil.extractColumnValuesAsDateTimeVals(tqrPriors, "STUDY_DATE");
List<PriorElemSt> priorsElemLst = new List<PriorElemSt>(priorsLstIDs.Count);

PriorElemSt elem;

for (int i = 0; i < priorsLstIDs.Count; i++)
{
    elem = new PriorElemSt(priorsLstIDs[i], priorsLstDates[i]);
    priorsElemLst.Add(elem);
}

return filterStudyPriors(priorsElemLst);
Run Code Online (Sandbox Code Playgroud)

谢谢.

更新:filterStudyPriors()方法调用可以成为LINQ的一部分吗?

aba*_*hev 8

IEnumerable<PriorElemSt> priorsElemLst = priorsLstIDs.Select((s,i) => new PriorElemSt(s, priorsLstDates[i]));
return filterStudyPriors(priorsElemLst);
Run Code Online (Sandbox Code Playgroud)