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)
您可以使用该Where方法.
foreach (var course in agentNewTraining.AllCoursesTaken.Where(c => c.Valid))
Run Code Online (Sandbox Code Playgroud)
你的代码现在做的是获取元素,直到找到与条件不匹配的元素.例如,如果列表的第一个元素与谓词不匹配,则会得到一个空集合.