【发布时间】:2011-11-21 03:09:06
【问题描述】:
我知道good practice 使用 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);
谢谢。
更新:对filterStudyPriors()方法的调用可以成为LINQ的一部分吗?
【问题讨论】:
-
不要仅仅因为您阅读了它而切换它是一种很好的做法。例如,在紧密循环中,迭代代码可以更快。
-
我会补充。在某些情况下,迭代循环对其他人来说更容易修改。不要因为你有一把锤子就把所有东西都变成钉子。
-
@Delashmate:这个方法的主体是什么?