あなたが欲しい:
foreach (int number in numbers) // <--- go back to here --------+
{ // |
if (number < 0) // |
{ // |
continue; // Skip the remainder of this iteration. -----+
}
// do work
}
はここcontinue
keywordについての詳細です。
更新:はコメント欄でブライアンのフォローアップの質問に応えて:
あなたはさらに私はforループネストされた、と繰り返しをスキップするように望んでいた場合、私はどうなるのかを明確でした拡張されたものの一つ?
for (int[] numbers in numberarrays) {
for (int number in numbers) { // What to do if I want to
// jump the (numbers/numberarrays)?
}
}
continue
は常に最も近い囲みスコープに適用されますので、あなたは、最も外側のループから抜け出すためにそれを使用することができませんでした。そのような状況が発生した場合は、内側のループからbreak
、外側のループでcontinue
のように、あなたが望むものに応じてもっと複雑なものを行う必要があります。 break
keywordに関するドキュメントはこちらをご覧ください。 break
C#キーワードはPerl last
キーワードに似ています。
また、ちょうどあなたが事前に処理しない値をフィルタリングするためにダスティンの提案を取って考えてみます。
foreach (var basket in baskets.Where(b => b.IsOpen())) {
foreach (var fruit in basket.Where(f => f.IsTasty())) {
cuteAnimal.Eat(fruit); // Om nom nom. You don't need to break/continue
// since all the fruits that reach this point are
// in available baskets and tasty.
}
}
悪い入力でユーザーに通知することは、スキップするほど重要です! – usefulBee