¿Cómo recorrer una colección que admite IEnumerable?
Respuestas:
Un regular para cada uno servirá:
foreach (var item in collection)
{
// do your stuff
}
Junto con los métodos ya sugeridos para usar un foreach
bucle, pensé que también mencionaría que cualquier objeto que implemente IEnumerable
también proporciona una IEnumerator
interfaz a través del GetEnumerator
método. Aunque este método generalmente no es necesario, se puede usar para iterar manualmente sobre colecciones y es particularmente útil cuando escribe sus propios métodos de extensión para colecciones.
IEnumerable<T> mySequence;
using (var sequenceEnum = mySequence.GetEnumerator())
{
while (sequenceEnum.MoveNext())
{
// Do something with sequenceEnum.Current.
}
}
Un buen ejemplo es cuando desea iterar sobre dos secuencias al mismo tiempo , lo que no es posible con un foreach
bucle.
o incluso un método anticuado muy clásico
IEnumerable<string> collection = new List<string>() { "a", "b", "c" };
for(int i = 0; i < collection.Count(); i++)
{
string str1 = collection.ElementAt(i);
// do your stuff
}
tal vez también le gustaría este método :-)
foreach (var element in instanceOfAClassThatImplelemntIEnumerable)
{
}
Quizás olvidaste la espera antes de devolver tu colección