En Perl puedo omitir una iteración foreach (o cualquier bucle) con un next;
comando.
¿Hay alguna manera de saltear una iteración y saltar al siguiente ciclo en C #?
foreach (int number in numbers)
{
if (number < 0)
{
// What goes here to skip over the loop?
}
// otherwise process number
}
Respuestas:
Usted quiere:
Aquí hay más sobre la
continue
palabra clave .Actualización: en respuesta a la pregunta de seguimiento de Brian en los comentarios:
A
continue
siempre se aplica al alcance envolvente más cercano, por lo que no podría usarlo para salir del bucle más externo. Si surge una condición como esa, necesitaría hacer algo más complicado dependiendo exactamente de lo que desea, comobreak
del bucle interno y luegocontinue
del bucle externo. Consulte aquí la documentación sobre labreak
palabra clave . Labreak
palabra clave C # es similar a lalast
palabra clave Perl .Además, considere tomar la sugerencia de Dustin para simplemente filtrar los valores que no desea procesar de antemano:
fuente
goto
es realmente útil para la situación sobre la que @Brian está preguntando. Agregue una etiqueta, comonextArray:
en la parte inferior del bucle externo, y luegogoto nextArray;
cuando desee omitirla.Otro enfoque es filtrar usando LINQ antes de que se ejecute el bucle:
fuente
También puede voltear su prueba if:
fuente
fuente
Puedes usar la
continue
declaración.Por ejemplo:
fuente
Otro enfoque que usa linq es:
Si desea omitir el primero de varios elementos.
O úselo
.SkipWhere
si desea especificar una condición para omitir.fuente
Use la declaración de continuación:
fuente
La forma más fácil de hacerlo es la siguiente:
fuente