¿Cómo recorrer una colección que admite IEnumerable?
c#
for-loop
foreach
ienumerable
mrblah
fuente
fuente
Junto con los métodos ya sugeridos para usar un
foreach
bucle, pensé que también mencionaría que cualquier objeto que implementeIEnumerable
también proporciona unaIEnumerator
interfaz a través delGetEnumerator
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.fuente
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 :-)
fuente
foreach (var element in instanceOfAClassThatImplelemntIEnumerable) { }
fuente
Quizás olvidaste la espera antes de devolver tu colección
fuente