2 回答
TA贡献1946条经验 获得超4个赞
您应该在开始时将所有标志设置为 false,然后运行循环,并且仅在找到匹配项时才设置 true 标志。如果您运行当前代码,它将完成所有课程,如果匹配的课程不是最后一个,则标志将始终设置为 false,即使它已设置为 true。
您还可以在找到匹配项时中断循环。
所以像这样:
foreach (var filteredCourse in filteredCourses)
filteredCourse.AlreadyExists = false;
foreach (var course in currentCourses)
{
foreach (var filteredCourse in filteredCourses)
{
if ((filteredCourse.CourseNumber == course.CourseNumber) && (filteredCourse.CourseSubject == course.CourseSubject))
{
filteredCourse.AlreadyExists = true;
break;
}
}
}
TA贡献1752条经验 获得超4个赞
您可以使用 LINQ:
foreach (var f in filteredCourses)
{
f.AlreadyExists = currentCourses.Any(c => (c.CourseNumber == f.CourseNumber
&& c.CourseSubject == f.CourseSubject));
}
- 2 回答
- 0 关注
- 70 浏览
添加回答
举报