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; }
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 }