Usar for o foreach si ademas de recorrer necesito un contador

Iniciado por Naimaderis, 29 Julio 2018, 09:12 AM

0 Miembros y 1 Visitante están viendo este tema.

Naimaderis

Hola, tengo una lista
Código (csharp) [Seleccionar]
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 (csharp) [Seleccionar]

foreach( Pelicula i in Peliculas_Recomendadas)
            {
                Console.WriteLine(aux + " - " + i.Nombre_Pelicula());
                aux++;
            }


Código (csharp) [Seleccionar]

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


¿Que creen?

Eleкtro

#1
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








Naimaderis

Cita de: 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

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

Eleкtro

#3
Cita de: Naimaderis en 30 Julio 2018, 00:27 AM
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