Sep
25
2009

Listas Genericas

Saludos a todos, en este post hablaremos un poco acerca de las lista genericas, que aunque no es un tema nuevo, poco se utiliza y no se comprende su utilidad; este post nacio por una discucion entre compañeros de trabajo, ya que uno de ellos no me creia que podia hacer un pequeño programa que pudiera hacer pizzas y definir ingredientes y despues crear una lista de este mismo tipo, ya sabiendo el contexto del ejercicio, hablemos que son las listas genericas o Generics List.

Las listas genericas, como su nombre lo dicen, son capaces de admitir un tipo de dato que no esta definido previamente, o que es personalizado, como un objeto o un tipo de dato primitivo, controles, conjuntos de datos,… en fin, aparecieron en el Framework 2.0, admitiendo cualquier tipo de objeto o dato. Ademas nos dan funciones de busqueda avanzadas y que en la version de Framework 3.5 ya tienen metodos apoyados por LINQ y Extension Methods para C# 3.0, para que tengamos un poco mas claro de que estamos hablando, a continuacion mi programa que hace pizzas :) nos vemos!!!

using System;
using System.Collections.Generic;
namespace ConsoleApplication5
{
   [Flags()]
   enum Tipo { Peperoni = 0, Jamon, Tocino, Cebolla, Tomate, Hongos };
   enum Masa { Alta = 0, Delgada };
   public class Pizza
   {
       private Tipo _Especialidad;
       internal Tipo Especialidad
       {
           get { return _Especialidad; }
           set { _Especialidad = value; }
       }
       private Masa _Masa;
       internal Masa Masa
       {
           get { return _Masa; }
           set { _Masa = value; }
       }
   }
   class Program
   {
       static void Main(string[] args)
       {
           List
 Pizzas = new List
();
           Pizza pizza1 = new Pizza();
           pizza1.Especialidad = Tipo.Hongos | Tipo.Jamon | Tipo.Tocino;
           pizza1.Masa = Masa.Alta;
           Pizzas.Add(pizza1);
           Console.WriteLine("Estan ordenadas {0} pizzas", Pizzas.Count.ToString());
           Console.WriteLine();
           foreach (Pizza pip in Pizzas)
           {
               Console.WriteLine("Las especialidad es {0} y la masa es {1}", pip.Especialidad.ToString(), pip.Masa.ToString());
           }
           Console.Read();
       }
   }
}

Related Posts

About the Author:

Leave a comment