foreach循环,具有List对象属性的条件

Nea*_*alR 1 c# linq foreach entity-framework conditional-statements

我有一个foreach循环,只有在'Valid'属性设置为true时才需要迭代.不幸的是,如果列表中第一项的'Valid'设置为false,它将退出整个循环.

有没有人知道在foreach循环中使用条件的最佳方法?以下是我现在所拥有的.

foreach (var course in agentNewTraining.AllCoursesTaken.TakeWhile(c => c.Valid))
Run Code Online (Sandbox Code Playgroud)

Mir*_*Mir 6

您可以使用该Where方法.

foreach (var course in agentNewTraining.AllCoursesTaken.Where(c => c.Valid))
Run Code Online (Sandbox Code Playgroud)

你的代码现在做的是获取元素,直到找到与条件不匹配的元素.例如,如果列表的第一个元素与谓词不匹配,则会得到一个空集合.