如果我有一个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
惰性在您需要元素之前评估它们,并且不包括关联的集合帮助器方法。