Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Naimaderis en 29 Julio 2018, 09:12 am



Título: Usar for o foreach si ademas de recorrer necesito un contador
Publicado por: Naimaderis en 29 Julio 2018, 09:12 am
Hola, tengo una lista
Código
  1. List<Pelicula> Peliculas_Recomendadas = new List<Pelicula>();
Pero estaba dudando si recorrerla con un for o con un foreach, pues al necesitar un contador, el for me parece mas coherente. Pero como por lo general se usan foreach para lista, lo duda.
Código
  1. foreach( Pelicula i in Peliculas_Recomendadas)
  2.            {
  3.                Console.WriteLine(aux + " - " + i.Nombre_Pelicula());
  4.                aux++;
  5.            }

Código
  1. for (int i = 0; i < Peliculas_Recomendadas.Count(); i++)
  2.            Console.WriteLine(i + "- " + Peliculas_Recomendadas[i].Nombre_Pelicula());

¿Que creen?


Título: Re: Usar for o foreach si ademas de recorrer necesito un contador
Publicado por: Eleкtro en 29 Julio 2018, 11:25 am
foreach está diseñado para iterar colecciones enumerables donde el concepto de índice no existe, por ende no es lo más adecuado dada la situación por tu necesidad de conocer el índice del elemento, puedes hacerlo como prefieras, no va a tener un impacto negativo en el rendimiento pero el uso de foreach combinado con el el seguimiento del índice usando una variable local es del todo innecesario cuando perfectamente puedes aplicar un bucle for tradicional y obtener el índice directamente de la variable de for.

Saludos


Título: Re: Usar for o foreach si ademas de recorrer necesito un contador
Publicado por: Naimaderis en 30 Julio 2018, 00:27 am
foreach está diseñado para iterar colecciones enumerables donde el concepto de índice no existe, por ende no es lo más adecuado dada la situación por tu necesidad de conocer el índice del elemento, puedes hacerlo como prefieras, no va a tener un impacto negativo en el rendimiento pero el uso de foreach combinado con el el seguimiento del índice usando una variable local es del todo innecesario cuando perfectamente puedes aplicar un bucle for tradicional y obtener el índice directamente de la variable de for.

Saludos

Entiendo, muchas gracias. ¿El usar .count para ir hasta el largo de la lista es correcto?
¿O seria mas eficiente declararla fuera?


Título: Re: Usar for o foreach si ademas de recorrer necesito un contador
Publicado por: Eleкtro en 30 Julio 2018, 14:39 pm
Entiendo, muchas gracias. ¿El usar .count para ir hasta el largo de la lista es correcto?
¿O seria mas eficiente declararla fuera?

Es lo mismo si usas la propiedad Count o una variable local, no va a influir para nada en el rendimiento.

saludos