【发布时间】:2012-07-05 12:42:17
【问题描述】:
我想比较两个我目前正在使用嵌套“for”循环的 C# 集合。在 Linq 中是否有一种方法可以更快、更高效地做同样的事情?这是我当前的代码,它完美地工作只是寻找一种有效的方法:
OrgCollection myYears = Org.RetrieveDistinctYear();
if (myYears.Count > 0)
{
AcademicYearCollection allYears = AcademicYear.RetrieveAll();
for (int i = 0; i < myYears.Count; i++)
{
for (int j = 0; j < allYears.Count; j++)
{
if (myYears[i].AcademicYearCode == allYears[j].Code)
{
ddlYear.Items.Insert(0, new ListItem(allYears[j].Name,allYears[j].Code));
break;
}
}
}
}
我想将 AcademicYearCollection 中的“代码”与 OrgCollection 中的“AcademicYearCode”属性进行比较,如果相同,则将其添加到下拉列表“ddlYear”中。
提前致谢。
【问题讨论】:
-
排序并循环比较。
-
试试link 未来的结论。在发布任何问题之前进行一些研究
-
您预计
RetrieveDistinctYear会提供多少项目 -
随着时间的推移会增加并且已经有很多数据的东西。
-
那么我的答案中的字典方法可能会更快,您必须测试才能看到。