while utilizadas salir programacion palabras espaƱol ejemplos comandos codigos bucles c# for-loop while-loop

salir - palabras utilizadas en c#



para y mientras bucle en c# (6)

(actualización) En realidad, hay un escenario donde el constructo for es más eficiente; bucle en una matriz. El compilador / JIT tiene optimizaciones para este escenario siempre que use arr.Length en la condición :

for(int i = 0 ; i < arr.Length ; i++) { Console.WriteLine(arr[i]); // skips bounds check }

En este caso muy específico, omite la verificación de límites, ya que ya sabe que nunca estará fuera de límites. Curiosamente, si " arr.Length " arr.Length para tratar de optimizarlo manualmente, evita que esto suceda:

int len = arr.Length; for(int i = 0 ; i < len ; i++) { Console.WriteLine(arr[i]); // performs bounds check }

Sin embargo, con otros contenedores ( List<T> etc.), el izado es bastante razonable como una micro-optimización manual.

(fin de la actualización)

Ninguno; un bucle for se evalúa como un ciclo while debajo del capó de todos modos.

Por ejemplo, 12.3.3.9 de ECMA 334 (asignación definida) dicta que un bucle for:

for ( for-initializer ; for-condition ; for-iterator ) embedded-statement

es esencialmente equivalente (desde una perspectiva de asignación definida (no es lo mismo que decir "el compilador debe generar esta IL")) como:

{ for-initializer ; while ( for-condition ) { embedded-statement ; LLoop: for-iterator ; } }

con las sentencias continue que se dirigen a la sentencia for que se traduce a las declaraciones goto dirigidas a la etiqueta LLoop. Si la condición for se omite de la proposición for, la evaluación de la asignación definida procede como si for-condition se remplazara con true en la expansión anterior.

Ahora bien, esto no significa que el compilador tenga que hacer exactamente lo mismo, pero en realidad lo hace bastante ...

for (i=0 ; i<=10; i++) { .. .. } i=0; while(i<=10) { .. .. i++; }

En for y while loop, ¿cuál es mejor, en cuanto al rendimiento?


El rendimiento será el mismo. Sin embargo, a menos que necesite acceder a la variable i fuera del ciclo, entonces debe usar el ciclo for . Esto será más limpio ya que solo tendré alcance dentro del bloque.


La eficiencia del programa proviene de algoritmos adecuados, buen diseño de objetos, arquitectura de programa inteligente, etc.

Afeitar un ciclo o dos con para bucles vs mientras que los bucles NUNCA harán que un programa lento sea rápido, o un programa rápido lento.

Si desea mejorar el rendimiento del programa en esta sección, encuentre la forma de desenrollar parcialmente el bucle (consulte el Dispositivo de Duff ) o mejore el rendimiento de lo que se hace dentro del bucle.


Ninguno de los dos. Ellos son equivalentes. Puede pensar que el bucle ''for'' es una forma más compacta de escribir el while-loop.


Sí, son fragmentos de código equivalentes.


Yo diría que son lo mismo y nunca debes hacer tales micro-optimizaciones de todos modos.