C# · 12月 29, 2021

c# – “foreach”循环是否可以进行条件检查?

如果我有一个foreach循环,有没有办法检查一个布尔值?

我不想在foreach()中检查一次,然后打破例如.我想通过一个集合来访问,同时评估一些事情是否正确.

例如,我不想做:

IEnumerable<Job> jobs = currentJobs; foreach(Job job in jobs) { if (found) break; }解决方法 你可以随时把它变成一个for循环. for (i = 0; i < jobs.Count && booleanTrue; i++) { // do a lot of great stuff}

您还需要将工作从IEnumerable更改为IList.我认为IList会更好地为你的目的服务. IEnumerable懒惰在需要之前评估元素,不包括关联的collection helper方法.