¿Hay una declaración como Exit For, excepto que en lugar de salir del bucle, simplemente pasa al siguiente elemento?
Por ejemplo:
For Each I As Item In Items
If I = x Then
' Move to next item
End If
' Do something
Next
Sé que podría simplemente agregar un Elsea la declaración If para que se lea de la siguiente manera:
For Each I As Item In Items
If I = x Then
' Move to next item
Else
' Do something
End If
Next
Me pregunto si hay una manera de saltar al siguiente elemento de la Itemslista. Estoy seguro de que la mayoría se preguntará correctamente por qué no usar la Elsedeclaración, pero para mí, envolver el código "Hacer algo" parece ser menos legible. Especialmente cuando hay mucho más código.

Ifdeclaración correctamente. Es engañoso.En su lugar, usaría la
Continuedeclaración:Tenga en cuenta que esto es ligeramente diferente a mover el iterador en sí, cualquier cosa antes de
Ifque se ejecute nuevamente. Por lo general, esto es lo que desea, pero si no, tendrá que usarGetEnumerator()y luegoMoveNext()/Currentexplícitamente en lugar de usar unFor Eachbucle.fuente
Qué pasa:
fuente
Quiero dejar claro que el siguiente código no es una buena práctica. Puede utilizar GOTO Label:
fuente
Cuando lo probé
Continue ForFalló, obtuve un error del compilador. Mientras hacía esto, descubrí 'Reanudar':Nota: estoy usando VBA aquí.
fuente
Resume Nextes para el manejo de errores no estructurados.If I <> x ThenSólo el "Continuar para" es un estándar aceptable (el resto conduce al "código espagueti").
Al menos con "continuar para", el programador sabe que el código va directamente al principio del ciclo.
Sin embargo, para los puristas, algo como esto es mejor, ya que es un código puro "no espagueti".
Sin embargo, para facilitar la codificación, "Continuar para" está bien. (Aunque es buena idea comentarlo).
Uso de "Continuar para"
fuente