C#を使用しています。アイテムのリストがあります。 foreach
を使用して各項目をループします。 foreach
の中には、いくつかのものをチェックするif
ステートメントがたくさんあります。これらのif
ステートメントのいずれかがfalseを返す場合、そのアイテムをスキップしてリスト内の次のアイテムに移動するようにします。後続のif
ステートメントはすべて無視する必要があります。ブレークを使用しようとしましたが、ブレークはforeach
ステートメント全体を終了します。
これは私が現在持っているものです:
foreach (Item item in myItemsList)
{
if (item.Name == string.Empty)
{
// Display error message and move to next item in list. Skip/ignore all validation
// that follows beneath
}
if (item.Weight > 100)
{
// Display error message and move to next item in list. Skip/ignore all validation
// that follows beneath
}
}
ありがとう
つかいます continue;
の代わりに break;
含まれるコードをそれ以上実行せずにループの次の反復に入る。
foreach (Item item in myItemsList)
{
if (item.Name == string.Empty)
{
// Display error message and move to next item in list. Skip/ignore all validation
// that follows beneath
continue;
}
if (item.Weight > 100)
{
// Display error message and move to next item in list. Skip/ignore all validation
// that follows beneath
continue;
}
}
公式ドキュメントは ここ ですが、あまり色を追加しません。
これを試して:
foreach (Item item in myItemsList)
{
if (SkipCondition) continue;
// More stuff here
}
以下を使用する必要があります。
continue;
continue
キーワードはあなたが望んでいることをします。 break
はforeach
ループから抜けるので、それを避けたいでしょう。
continue
の代わりにbreak
を使用します。 :-)