Cerrar Bienvenido
Cerrar Registrate

Ya somos 1.511.174 Forros navegando...

1164 usuarios conectados | 1.511.174 forros | 370.624 temas | 4.393.250 mensajes | seremos forros, pero somos una bocha

Alguien que tenga conocimiento en .NET en el foro de Programación:


Alguien me puede decir la diferencia entre los bucles <b>for</b> y <b>foreach</b> en Visual <b>C#</b>... Yo se que lo puedo simplemente poner en el buscador y ver pero no encuentro alguien que me diga la precisa..O sea alguien que haya trabajado con estos bucles y sepa por experencia.. Espero que me puedan ayudar..desde ya Gracias...

Datos del Tema
Creado el 30.06.08 a las 12:04
  • 0 Votos
  • 0
    Favoritos
  • 107
    Visitas
  • 2
    Mensajes
¡Tema agregado a Favoritos!
Ya tienes este tema en Favoritos
Error
¡Buen Tema!0 Votos Disponibles
¡Tu voto ha sido enviado!
Ya has votado por este tema
[Error]
No puedes votar tu propio tema
No puedes votar a usuarios baneados
No puedes votar en un tema cerrado
Viejo 30.06.08, 12:04
Alguien me puede decir la diferencia entre los bucles <b>for</b> y <b>foreach</b> en Visual <b>C#</b>...
Yo se que lo puedo simplemente poner en el buscador y ver pero no encuentro alguien que me diga la precisa..O sea alguien que haya trabajado con estos bucles y sepa por experencia..
Espero que me puedan ayudar..desde ya Gracias
Viejo 30.06.08, 16:51
El primer for es simplemente un alias para el while... o sea, un for común y corriente hace lo siguiente:
Si mencionamos las partes de un for así:
Código:
for(inicializacion; condicion; iteracion){
  // cuerpo del ciclo
}
El for se puede escribir también así:
Código:
inicializacion

while(condicion){
  // cuerpo del ciclo
  iteracion
}
El foreach, en cambio, tiene una modalidad distinta... así funciona un foreach:
Código:
foreach(objeto in coleccion){
  // realizar algo con "objeto"
}
Es decir, el foreach entiende que está trabajando sobre una colección, y declara, en cada iteración, una variable temporal del tipo de la colección para trabajar sobre ella... acá no hay ningún tipo de orden... esto te permite iterar sobre colecciones sin índice de manera más sencilla...
Si quisieras escribir un foreach con while, deberías hacer algo así (y esto es pseudo-código, porque el código real depende del tipo de colección):
Código:
while(hayObjetoEnColeccion(coleccion)){
  // Declaro variable del tipo coleccion y le asigno el valor de un elemento de "coleccion" que no haya sido asignado antes
  // Trabajo con la variable
  // Guardo la variable nuevamente en la coleccion y marco el elemento como "ya fue asignado" para no volver a elegirlo
  avanzarColeccion(coleccion);
}
Que alguien me corrija si lo dije mal, pero creo que es así... de todos modos, te aseguro, el foreach facilita tu vida... si querés iterar sobre una colección que no sea array, te va a resultar buenísimo... obviamente también podés usarlo en arrays, pero para esos el primer for es igual de útil...


Editado por SubtePass: 30.06.08 a las 16:56
Viejo 01.07.08, 09:36
Muchas gracias por compartir tus conocimientos subtepass...me ha servido mucho tu explicacion..


Herramientas Buscar en este tema
Buscar en este tema:

Búsqueda avanzada
Iniciar Sesion

Recordarme

Top de Temas

  • No hay temas votados

Top de Usuarios

  • No hay usuarios votados
ElServer