Respuesta
Es un bucle sin valor o las condiciones de partida, por lo que irá para siempre, similar a
while (true)
{
// body...
}
Se necesitaría utilizar una declaración break;
para salir del bucle.
Esto causaría un bucle infinito. Ver MSDN
while(true) { /* body */ }
Repite el cuerpo para siempre.
Aquí es el desmontaje:
IL_0001: br.s IL_0005
IL_0003: nop
IL_0004: nop
IL_0005: ldc.i4.1
IL_0006: stloc.0
IL_0007: br.s IL_0003
LINQPad es una pequeña utilidad muy agradable que te permite explorar este tipo de preguntas. Ejecute linqpad, configure el menú desplegable de idiomas en "C# statement", coloque el fragmento de código, haga clic en ejecutar, haga clic en el botón "IL" que se encuentra sobre la ventana de resultados. Si no conoce el ensamblaje de IL, simplemente coloque el cursor sobre cada código de operación y una descripción emergente en inglés. Para este ejemplo específico, deberá hacer clic en detener para ver los botones de resultados, porque este ejemplo se repite para siempre.
Gracias por el enlace de linqpad. Se ve * muy * genial. – Ben
Un bucle como este:
for (i = 0; i < 4; i++) { ... }
es el mismo que:
i = 0;
while (i < 4) {
...
i++;
}
Por lo tanto, un bucle de esta manera:
for (;;) { ... }
es una forma más corta para:
for (;true;) { ... }
o sea que es lo mismo que:
;
while (true) {
...
;
}
es decir, la inicialización y modificación son opcionales, y cuando se omite la condición, simplemente evalúa a true
.
- 1. lo que hace "@" significa en C#
- 2. lo hace O (N) significa
- 3. ¿Qué hace? en C significa?
- 4. ¿Por qué hace esto lo que hace?
- 5. ¿Qué hace? operador significa en C#?
- 6. ¡Qué hace! significa en Objective-C
- 7. Lo que hace Perl variable especial $ - [0] y $ + [0] significa
- 8. Cadena ... <varname> lo que hace Cadena ... significa
- 9. ¿Qué significa '??' significa en C#?
- 10. ¿Qué hace el -> significa en C objetiva
- 11. lo que hace `super()` `en __new__`
- 12. ¡Qué hace! significa en ruby?
- 13. ¿Cómo lo hace AQTime?
- 14. adición de cadenas en C#, ¿cómo lo hace el compilador?
- 15. ¿Por qué Y hace lo mismo que yy?
- 16. ¿Qué significa :: en C++?
- 17. Lo que hace: a excepción => {: no_release => true} significa en Capistrano DSL
- 18. ¿Qué hace el? en XML Android significa
- 19. lo que hace "typedef __u16 __bitwise __le16;" significa en Linux Kernel?
- 20. rubí: lo que hace el asterisco en "p * 1..10" significa
- 21. ¿"LValue" no significa lo que creo que significa?
- 22. lo que significa 'el tamaño del código' en MSIL significa
- 23. ¿Qué significa PorterDuff.Mode en graphics.What androide hace?
- 24. lo hace | = (solo tubo iguales) y Y = (signo único iguales) significa
- 25. lo que hace el punto en los siguientes comando emacs significa
- 26. ¿Dónde puedo leer lo que hace el compilador C#?
- 27. ¿Por qué este script SQL funciona como lo hace?
- 28. No entiendo por qué string.size devuelve lo que hace
- 29. ¿Por qué utilizar Handlers mientras runOnUiThread hace lo mismo?
- 30. ¿Por qué gcc lo hace al crear código ensamblador?
O una devolución. O una excepción (no es que debas hacer eso). –
También es válido con todos los lenguajes C. –
En C, sería así mientras (1) {....} – t0mm13b