Search code examples
c#asp.netif-statement

Go to next item in list based on if statement in foreach


I am using C#. I have a list of items. I loop through each item using a foreach. Inside my foreach I have a lot of if statements checking some stuff. If any of these if statements returns a false then I want it to skip that item and go to the next item in the list. All if statements that follow should be ignored. I tried using a break but a break exits the whole foreach statement.

This is what I currently have:

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

Solution

  • Use continue; instead of break; to enter the next iteration of the loop without executing any more of the contained code.

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

    Official docs are here, but they don't add very much color.