parar ejecucion codigo mediante tecla

elkaoD

#30

"yo los for no los uso nunca para una busqueda que acaba antes de llegar al final, los uso para recorrer colecciones completas."
Pero por costumbre/convención, no por otra cosa.

"Aún asi no le veo la relación con la programación funcional"
foreach/reduces/maps, etc. mientras que en funcional poco while vas a ver (si necesitas un while probablemente necesitas recursión/falsa recursión.)

"Os olvidais también de que un while y un for a bajo nivel es exactamente lo mismo"
Nope, lo comentaba justo en el edit xD

"solo que la sintaxis del while está pensada para ser mas "friendly" con el programador (alto nivel)"
IMHO es al revés, el while es el que funciona a bajo nivel (un while en ensamblador funciona prácticamente igual, solo que el while es cond+jmp) mientras que el for es el enriquecido/friendly al juntarte en una misma estructura de control todas las expresiones involucradas.

En definitiva: si necesita condición inicial, condición de parada e incremento... ¿por qué no usar un for?

2
Soltrac

#29 Es muy fácil, en cualquier lenguaje ya tienes iteradores y es más cómodo usar un foreach q usar una variable "i".

De ahí lo de usar returns y breaks.

Es más fácil de leer, más comodo, etc hacer:

foreach (DataRow dataRow in dt.Rows)
{
  if (dataRow["AAA"] == BBB)
    break;
}

Que

int i = 0;
bool found = false;
while (i < dt.Rows.Count && !found)
{
  if (dt.Rows[i]["AAA"] == BBB)
    found = true;
  i++;
}

PD: Para los .NETeros, se que para buscar en un datatable es mejor hacer un select, es solo por poner un ejemplo.

EnZo

#30 "yo los for no los uso nunca para una busqueda que acaba antes de llegar al final, los uso para recorrer colecciones completas."

Por que no? como bien dices uno no está mas optimizado que el otro. Es por mania o por que lo consideras mejor?

Quizá cuando tu ves un for en tu codigo sabes que estás recorriendo un array por ejemplo. Y eso te ayuda a entender el codigo mas rapidamente. En ese caso si lo veo practico.

Pero por lo demás no hay diferencia.

1 respuesta
BLZKZ

#33 Es exactamente por eso, veo lo que quiero hacer con ese for mas rapido al revisar codigo. Llamalo mania o lo que quieras, pero si hoy haces que todos tus for terminen al terminar de recorrer y no antes con breaks, dentro de 5 años si lo miro lo entendere mas facil xD

Como ya dije se que a otros niveles no hay diferencia.