如果我有一个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
}

您还需要从IEnumerableIListIList会更好地服务于您的目的。IEnumerable惰性在您需要元素之前评估它们,并且不包括关联的集合帮助器方法。

来自: stackoverflow.com