viernes, 22 de abril de 2011

El uso de listas (coleccion de datos)... (Parte 3)

Ahora veremos cómo podemos recorrer nuestra lista. 

Esto es fácil si ya hemos manejado arreglos y matrices, existen diversas formas de lograrlo, tenemos los ciclos for y foreach, con los cuales podemos trabajar de la siguiente forma:
Ciclo for.
Para ello recordando la sintaxis for(x=0; x<=total; x++)
Dónde:
x=0: representa un dato de tipo int
 con el cual recorremos nuestro ciclo, inicializándolo en 0.
x<=total: es el número de elementos que vamos a recorrer. Como condición que x sea menor o igual al total.
x++: un decremento a nuestra variable de tipo int que suma 1 en cada iteración de nuestro ciclo
Bueno recordando los anteriores post y tomando de ejemplo las listas, tenemos lo siguiente 
for(int x = 0; x<= MyList.Count + 1; x++)
{
//codigo a ejecutar
}

Donde vemos que inicializamos nuestra variable x de tipo int (de igual forma podemos declaras la variable fuera del ciclo así la podremos reutilizar en otro ciclo), con un valor de 0, luego le agregamos la condición de que x sea menor o igual que el total de nuestra lista menos 1 (recordando que los datos de la lista se guarda de la posición 0 a n), y por ultimo incrementamos nuestra variable por cada iteración.

Con esta forma estamos recorriendo nuestra lista. Y bien para acceder a los elementos de ese nodo o posición solo basta poner MyList[x]. y VS les desplegara los elementos que tenemos como se muestra en la siguiente imagen.


Donde [x] es el número de nodo con el cual estamos trabajando, de igual forma si conociéramos ya el nodo a editar podríamos poder directamente MyList[2].Sexo y con ello se accede al nodo que se encuentra en la posición 2.

Con ello podemos modificar el elemento de la lista, borrarlo o en caso que no exista algún dato poder insertar o llenar ese campo.
Como por ejemplo.

for(int x = 0; x<= MyList.Count + 1; x++)
{
//Actualizar

MyList[x].Sexo = "Hembra";
//Borrar
MyList[x].Sexo = "";
}

O bien utilizamos un RemoveAt para eliminar el registro de la posición indicada de la lista  MyList.RemoveAt(1);

Ciclo foreach.

Otra forma de recorrer nuestra lista es por medio de un foreach, recordando que es por cada elemento de nuestra lista se hace una iteración. O bien una definición más completa de MSDN que nos proporciona Microsoft

“La instrucción foreach repite un grupo de instrucciones incluidas en el bucle para cada elemento de una matriz o de un objeto collection. La instrucción foreach se utiliza para recorrer en iteración una colección de elementos y obtener la información deseada, pero no se debe utilizar para cambiar el contenido de la colección, ya que se pueden producir efectos secundarios imprevisible”


foreach (animal ani in MyList)
{
//codigo a ejecutar
}
 En este caso abrimos nuestro foreach y decimos que por cada ani de tipo animal  (recordando que nuestra lista es de ese tipo) en nuestra lista vamos a realizar algo. Como bien lo dice la descripción es un poco inestable editar nuestra lista por esta instrucción, pero si es posible realizarlo de la siguiente manera:
foreach (animal ani in MyList)
       ani.Edad = 2;
       ani.Tipo ="";
}

Donde vemos que ani contiene los elementos de nuestra lista en cada recorrido

Y bien con esto concluimos la forma de utilizar nuestra lista. Ya con una lista llena podemos realizar el llenado de los GridView

dataGridView1.DataSource = MyList;

O poder utilizar nuestra lista con LINQ (Un modelo de programación que simplifica y unifica la implementación de acceso a cualquier tipo de datos) para poder hacer consultas con la información de nuestra como por ejemplo:

var lista = MyList.Where(a => a.Sexo == "Macho");

Donde lista guarda los nodos de nuestra lista mientras el sexo sea igual a "Macho"
En nuestro siguiente por explicare más a la brevedad las ventajas que nos ofrece LINQ.

Un saludo Cordial esperando les haya sido de utilidad este 3 post.

Atte.,
LSCA Gustavo Ortiz Gámez.

No hay comentarios:

Publicar un comentario