La instruccin foreach repite un grupo de instrucciones incrustadas para cada
elemento de una matriz o coleccin de objetos que implementa la interfazSystem.Collections.IEnumerable o System.Collections.Generic.IEnumerable<! . La instruccin foreach se utiliza para recorrer la coleccin en iteracin y obtener la informacin deseada" pero no se puede utilizar para agregar o quitar elementos de la coleccin de origen" ya que se pueden producir efectos secundarios impre#isibles. Si necesita agregar o quitar elementos de la coleccin de origen" utilice un bucle for. Las instrucciones del bucle siguen ejecut$ndose para cada elemento de la matriz o la coleccin. Cuando ya se %an recorrido todos los elementos de la coleccin" el control se trans&ere a la siguiente instruccin fuera del bloque foreach. En cualquier punto dentro del bloque foreach" puede salir del bucle utilizando la palabra cla#e brea' o pasando directamente a la iteracin siguiente del bucle mediante la palabra cla#e continue. ambi(n se puede salir de un bucle foreach mediante las instrucciones goto" return o t%ro). *ara obtener m$s informacin acerca de la palabra cla#e foreach" incluidos ejemplos de cdigo" #ea los temas siguientes+ ,tilizar foreac% con matrices -Gu.a de programacin de C/0 Cmo+ 1btener acceso a una clase de coleccin mediante 2oreac% -Gu.a de programacin de C/0 Ejemplo El cdigo siguiente se muestran tres ejemplos+ un bucle t.pico de foreach que muestra el contenido de una matriz de enteros un bucle de para que %ace lo mismo un bucle de foreach que mantiene un recuento del n3mero de elementos de la matriz C/ class 2orEac%est 4 static #oid 5ain-string67 args0 4 int67 &barray 8 ne) int67 4 9" :" :" ;" <" =" >" :< ?@ foreac% -int element in &barray0 4 System.Console.AriteLine-element0@ ? System.Console.AriteLine-0@ BB Compare t%e pre#ious loop to a similar for loop. for -int i 8 9@ i < &barray.Lengt%@ iCC0 4 System.Console.AriteLine-&barray6i70@ ? System.Console.AriteLine-0@ BB Dou can maintain a count of t%e elements in t%e collection. int count 8 9@ foreac% -int element in &barray0 4 count C8 :@ System.Console.AriteLine-EElement /49?+ 4:?E" count" element0@ ? System.Console.AriteLine-EFumber of elements in t%e array+ 49?E" count0@ ? BB 1utput+ BB 9 BB : BB : BB ; BB < BB = BB > BB :< BB 9 BB : BB : BB ; BB < BB = BB > BB :< BB Element /:+ 9 BB Element /;+ : BB Element /<+ : BB Element /G+ ; BB Element /=+ < BB Element /H+ = BB Element /I+ > BB Element />+ :< BB Fumber of elements in t%e array+ > ?