簡體   English   中英

帶條件的 foreach 循環

[英]foreach loop with conditions

我可以用不止一個這樣的條件循環:

for (int i = 0; condition1 && condition2 && ... && conditionN  ; i++) {

}

有沒有辦法使用foreach來做到這一點:

foreach (var i in arr and while condition1 && condition2 && ... && conditionN) {
}

但不使用break; ?

我需要這個來傳遞 Enumerable ,如果我的條件不正確,我不想繼續迭代。

您可以使用Enumerable.TakeWhile 擴展方法

foreach (var i in arr.TakeWhile(j => condition1 && ... && conditionN))
{
    // do something
}

這大致相當於:

foreach (var j in arr)
{
    if (!(condition1 && ... && conditionN))
    {
        break;
    }
    var i = j;
    // do something
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM