Saltar al contenido

¿Cómo me salto una iteración de un bucle `foreach`?

Te recomendamos que pruebes esta resolución en un entorno controlado antes de enviarlo a producción, un saludo.

Solución:

Usted quiere:

foreach (int number in numbers) //   <--- go back to here --------+

    if (number < 0)             //                                

Aquí hay más sobre continue palabra clave.


Actualizar: En respuesta a la pregunta de seguimiento de Brian en los comentarios:

¿Podría aclarar más qué haría si hubiera anidado los bucles for y quisiera omitir la iteración de uno de los extendidos?

for (int[] numbers in numberarrays) 
  for (int number in numbers)  // What to do if I want to
                                // jump the (numbers/numberarrays)?
  

A continue siempre se aplica al osciloscopio circundante más cercano, por lo que no podría usarlo para salir del bucle más externo. Si surge una condición como esa, deberá hacer algo más complicado dependiendo exactamente de lo que desee, como break desde el bucle interior, luego continue en el bucle exterior. Consulte aquí la documentación sobre el break palabra clave. El break La palabra clave C # es similar a Perl last palabra clave.

Además, considere tomar la sugerencia de Dustin de filtrar los valores que no desea procesar de antemano:

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.
  

Otro enfoque es filtrar usando LINQ antes de que se ejecute el ciclo:

foreach ( int number in numbers.Where(n => n >= 0) )

    // process number

También puede invertir su prueba if:


foreach ( int number in numbers )

     if ( number >= 0 )
     
        //process number
     
 

Si haces scroll puedes encontrar las críticas de otros desarrolladores, tú aún tienes la opción de dejar el tuyo si te gusta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *