1. ホーム
  2. c#

C# foreach の if 文に基づき、リストの次のアイテムに移動する

2023-10-09 06:11:49

質問

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;
   }
}

公式ドキュメントは ここに となっていますが、あまり色はついていません。