示例#1
0
 public Futbolista(IDDeFutbolista id, string nombre, string apellido, string equipo, string nacionalidad, float salarioAnual)
 {
     ID           = id;
     Nombre       = nombre;
     Apellido     = apellido;
     Equipo       = equipo;
     Nacionalidad = nacionalidad;
     SalarioAnual = salarioAnual;
 }
示例#2
0
        static void Main(string[] args)
        {
            EncabezadoYPieConsola separador = new EncabezadoYPieConsola();

            #region Ejemplo 1: Dos funciones de Hash
            separador.EscribirEncabezado("Ejemplo 1: Evaluación de Función Hash");


            int[] bucket = new int[190000];

            for (int i = 0; i < 1000000; i++)
            {
                int hash = FuncionHash(i + 1);
                bucket[hash]++;
            }



            Console.WriteLine("Función Hash de MV");
            Console.WriteLine("El promedio de elementos en un bucket es: {0}", bucket.Average().ToString());
            Console.WriteLine("El número máximo de elementos en un bucket es: {0}", bucket.Max().ToString());
            Console.WriteLine("El número mínimo de elementos en un bucket es: {0}", bucket.Min().ToString());

            IEnumerable <int> cuenta;
            for (int k = 0; k <= bucket.Max(); k++)
            {
                cuenta = bucket.Where(x => x == k);
                Console.WriteLine("Hay {0} buckets con {1} elementos", cuenta.Count().ToString(), k.ToString());
            }


            int[] bucketv2 = new int[190000];

            for (int i = 0; i < 1000000; i++)
            {
                int hash = FuncionHashv2(i + 1);
                bucketv2[hash]++;
            }


            Console.WriteLine("Función Hash de Resharper");
            Console.WriteLine("El promedio de elementos en un bucket es: {0}", bucketv2.Average().ToString());
            Console.WriteLine("El número máximo de elementos en un bucket es: {0}", bucketv2.Max().ToString());
            Console.WriteLine("El número mínimo de elementos en un bucket es: {0}", bucketv2.Min().ToString());

            IEnumerable <int> cuentav2;
            for (int k = 0; k <= bucketv2.Max(); k++)
            {
                cuentav2 = bucketv2.Where(x => x == k);
                Console.WriteLine("Hay {0} buckets con {1} elementos", cuentav2.Count().ToString(), k.ToString());
            }
            separador.EscribirPie("Fin Ejemplo 1");
            #endregion


            #region Ejemplo 2: Uso de Diccionario con UDTs
            separador.EscribirEncabezado("Ejemplo 2: Uso de Diccionario con UDTs");

            Dictionary <IDDeFutbolista, Futbolista> futbolistas = new Dictionary <IDDeFutbolista, Futbolista>();

            IDDeFutbolista idDeCRonaldo = new IDDeFutbolista("A123789");
            Futbolista     CRonaldo     = new Futbolista(idDeCRonaldo, "Cristiano", "Ronaldo", "Real Madrid", "Portuguesa", 87.5f);
            Console.WriteLine(CRonaldo.ToString());
            futbolistas.Add(idDeCRonaldo, CRonaldo);

            IDDeFutbolista idDeLMessi = new IDDeFutbolista("X779");
            Futbolista     LMessi     = new Futbolista(idDeLMessi, "Lionel", "Messi", "Barcelona", "Argentina", 76.5f);
            Console.WriteLine(LMessi.ToString());
            futbolistas.Add(idDeLMessi, LMessi);


            IDDeFutbolista idDeNDaSilva = new IDDeFutbolista("B2587");
            Futbolista     NDaSilva     = new Futbolista(idDeNDaSilva, "Neymar", "Da Silva", "Barcelona", "Brasileña", 55.5f);
            Console.WriteLine(NDaSilva.ToString());
            futbolistas.Add(idDeNDaSilva, NDaSilva);

            IDDeFutbolista idDeGBale = new IDDeFutbolista("S1055");
            Futbolista     GBale     = new Futbolista(idDeGBale, "Gareth", "Bale", "Real Madrid", "Galesa", 41.0f);
            Console.WriteLine(GBale.ToString());
            futbolistas.Add(idDeGBale, GBale);

            IDDeFutbolista idDeELavezzi = new IDDeFutbolista("T3301");
            Futbolista     ELavezzi     = new Futbolista(idDeELavezzi, "Ezequiel", "Lavezzi", "Hebei Fortune", "Argentina", 28.5f);
            Console.WriteLine(ELavezzi.ToString());
            futbolistas.Add(idDeELavezzi, ELavezzi);

            string         codigoABuscar = "";
            IDDeFutbolista idABuscar;
            Futbolista     futbolistaEncontrado;
            while (codigoABuscar.ToUpper() != "S")
            {
                Console.WriteLine("Ingrese un código de fichaje para buscar");
                codigoABuscar = Console.ReadLine();

                if (codigoABuscar.ToUpper() == "S")
                {
                    break;
                }

                try
                {
                    idABuscar = new IDDeFutbolista(codigoABuscar);
                    futbolistas.TryGetValue(idABuscar, out futbolistaEncontrado);

                    if (futbolistaEncontrado == null)
                    {
                        Console.WriteLine("No se encontró ningún futbolista con ese código de fichaje");
                    }
                    else
                    {
                        Console.WriteLine("El siguiente futbolista tiene un código de fichaje que coincide con el valor ingresado:");
                        Console.WriteLine(futbolistaEncontrado.ToString());
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("Se Encontró una excapción al procesar el código de fichaje ingresado: {0}", e.Message);
                }
            }

            separador.EscribirPie("Fin de Ejemplo 2");
            #endregion


            #region Ejemplo 3: Uso de Lookups
            separador.EscribirEncabezado("Ejemplo 3: Uso de Lookups");

            var alumnos = InicializarLista();

            var buscarAlumnos = alumnos.ToLookup(x => x.Calificacion);

            foreach (var malEstudiante in buscarAlumnos[2.5f])
            {
                Console.WriteLine(malEstudiante.ToString());
            }

            separador.EscribirPie("Fin Ejemplo 3");
            #endregion
        }