Manejo de listas en c#

on miércoles, 17 de octubre de 2012


Muy buen día, el día de hoy trabajaremos con la clase List de c#.

Dicha clase es una plantilla para todos los tipos, es decir podemos hacer una instancia de una lista de diferentes tipos, por ejemplo.


List<int> listaDeEnteros = new List<int>(); 

Así es como declaramos una lista de enteros. Este tipo de listas son bastantes útiles a la hora de estar desarrollando en c#, ya que son altamente usables.

Y aquí esta un ejemplo de como se llena una lista y como se recorre.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> listaDeEnteros = new List<int>();

            for (int i = 1; i <= 20; i++)
            {
                listaDeEnteros.Add(i);
            }

            foreach (int entero in listaDeEnteros)
            {
                Console.WriteLine(entero);
            }

            Console.ReadKey();
        }
    }
}
 

Este tipo de listas, como son una plantilla, se pueden usar todos los tipos de datos primitivos como clases hechas por el desarrollador, a continuación trataremos estas listas ya con objetos.

Supongamos que tenemos una lista de clientes con una propiedad nombre y otra que indica si el cliente es moroso o deudor, como quieran llamarle.


Es necesario crear la clase:
 


class Cliente
{
   public string Nombre { get; set; }

   public bool EsMoroso { get; set; }

   public Cliente()
   {

   }

   public Cliente(string nombre, bool esMoroso)
   {
       this.Nombre = nombre;
       this.EsMoroso = esMoroso;
   }
}


Ahora bien, creamos una lista de clientes.

List<Cliente> clientes = new List<Cliente>();

Ahora creamos 5 clientes, al inicio ninguno de ellos sera moroso.

Cliente cliente;

for (int i = 0; i < 5; i++)
{
cliente = new Cliente("cliente No. " + i + 1, false);
clientes.Add(cliente);
}

Las lista puden acceder a cualquiera de sus ítems dentro de su colección.
Por ejemplo, vamos hacer moroso a dos clientes.

clientes[2].EsMoroso = true;
clientes[3].EsMoroso = true;

Por lo tanto es necesario crear una nueva lista que contenga a todos los clientes morosos.

List<Cliente> clientesMorosos = new List<Cliente>();

Hecho esto, tenemos que recorrer toda la lista de clientes y obtener todos aquellos clientes que son deudores.
 

foreach (Cliente cliente in clientes)
{
   if (cliente.EsMoroso)
   {
        clientesMorosos.Add(cliente);
   }
}



Y ahora los mostramos en pantalla.

foreach (Cliente clienteMoroso in clientesMorosos)
{
    Console.WriteLine("El cliente "+clienteMoroso.Nombre +" Es un deudor, favor de               no autorizarle el credito solicitado");
}

Como estamos recorriendo la lista de clientes morosos, estamos asegurando que todos los clientes que se encuentren dentro de esa lista, son deudores.
 

 

0 comentarios:

Publicar un comentario