Anuncios
Anuncios

Bienvenidos sean a este post, hoy hablaremos sobre una variante de for como es foreach, usualmente se lo identifica como for generico o for mejorado ya que al otro lo identifican como for numerico.

El foreach es una herramienta utilizada mayoritariamente para recuperar la informacion de colecciones, arrays o listas, es decir objetos que pueden contener mas de un valor almacenado, veamos su sintaxis:

foreach(tipoDato nombre in array)
{
... instrucciones ...
}

En este caso primero definiremos una variable con un tipo de dato que debe coincidir con el tipo de dato que vamos a recuperar, por ejemplo si el array fuera de tipo int la variable debe ser de tipo int, si tuvieramos una lista deberiamos respetar el tipo que le asignamos a la lista, por ejemplo si fuera de tipo string, es decir:

List<string> milista;

Cuando usemos el foreach deberia ser de la siguiente manera:

foreach(string elemento in milista)
{
	... instrucciones ...
}
Anuncios

Su uso es bien simple, un poco menos complejo que en for pero mas limitado ya que no podemos usarlo mas que nada para recuperar elementos de una coleccion, para entender mejor este concepto vamos a usar el siguiente ejemplo, en este caso crearemos un archivo mediante el notepad y lo llamaremos foreach.cs:

foreach.cs

using System;

public class Program
{
	static int Main()
	{
		string[] texto = { "Hola", "Mundo", "Como", "Estan", "Ahora" };
		foreach (string palabra in texto)
		{
			Console.WriteLine(palabra);
		}
		return 0;
	}
}
Anuncios

En este codigo primero crearemos un array de tipo string llamada texto donde le asignaremos 5 palabras, con esto tenemos nuestro array creado luego usamos el foreach, donde primero crearemos la variable que pasara por todo el array, en este caso llamada palabra y el array es texto, luego por cada vuelta mostramos el contenido de palabra, en pantalla, el return 0 es para salir correctamente del main, compilemos y probemos para ver su salida:

C:\Users\tinchicus\Documents\Visual Studio 2019>foreach
Hola
Mundo
Como
Estan
Ahora

C:\Users\tinchicus\Documents\Visual Studio 2019>
Anuncios

En esta salida podemos ver como nos trajo toda la informacion de manera correcta, vamos a modificar el codigo anterior para verlo contra una lista:

using System;
using System.Collections.Generic;

public class Program
{
    static int Main()
    {
	List<string> texto = new List<string>();
	texto.Add("Hola");
	texto.Add("Mundo");
	texto.Add("Como");
	texto.Add("EStan");
	texto.Add("Ahora");

        foreach (string palabra in texto)
        {
            Console.WriteLine(palabra);
        }
        return 0;
    }
}
Anuncios

En este codigo, la primera modificacion fue que agregamos el siguiente namespace:

using System.Collections.Generic;
Anuncios

Este nos permtira tener acceso al tipo List, nuestro siguiente paso es quitar el array y lo reemplazamos por un objeto de tipo List, el tipo de lista va a ser string y en este caso usamos a new para crear el objeto, luego por medio de Add iremos agregando los distintos elementos de la lista, para finalmente volver a usar el foreach y recuperar los elementos, compilemos y veamos su salida:

C:\Users\tinchicus\Documents\Visual Studio 2019>foreach
Hola
Mundo
Como
EStan
Ahora

C:\Users\tinchicus\Documents\Visual Studio 2019>
Anuncios
Nota: Mas adelante hablaremos sobre los tipos de coleccion donde explicaremos sobre los arrays y las listas o list.

En este caso volvimos a obtener la misma salida, como pueden darse cuenta este metodo es ideal para obtener todos los elementos de una coleccion, array o lista o lo que sea que contenga multiples valores en un solo objeto o variable, pero como podran ver no es practico si debemos recuperar algun elemento en particular de la coleccion, o solo algunos elementos pero si necesitamos recuperar todos en bruto este es el metodo mas ideal.

Anuncios

En resumen, hoy hemos visto un for alternativo, tambien conocido como for generico o mejorado, como es su sintaxis, para que se usa, como se usa, que beneficio nos provee, que limite tiene y su poca practicidad dependiendo para que lo usemos, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Tambien podes donar

Es para mantenimiento del sitio, gracias!

$1.00