Advertisement
fcamuso

Collezioni - Dictionary, parte B

Nov 13th, 2021
928
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.19 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections.Specialized;
  4. using System.Diagnostics.CodeAnalysis;
  5.  
  6. namespace Dictionary
  7. {
  8.   class Amico
  9.   {
  10.     public String Nome { get; set; }
  11.     public String Telefono { get; set; }
  12.  
  13.     public Amico(string nome, string telefono)
  14.     { Nome = nome; Telefono = telefono; }
  15.   }
  16.  
  17.   class Gioco
  18.   {
  19.     public String Nome { get; set; }
  20.     public int etaConsigliata { get; set; }
  21.  
  22.     public Gioco(string nome, int eta)
  23.     { Nome = nome; etaConsigliata = eta; }
  24.   }
  25.  
  26.   public record RecGioco
  27.   {
  28.     public String Nome { get; set; }
  29.     public int etaConsigliata { get; set; }
  30.  
  31.     public RecGioco(string nome, int eta)
  32.     { Nome = nome; etaConsigliata = eta; }
  33.   };
  34.  
  35.   class GiocoComparer : IEqualityComparer<Gioco>
  36.   {
  37.     public bool Equals(Gioco x, Gioco y)
  38.     {
  39.       return x.Nome == y.Nome && x.etaConsigliata == y.etaConsigliata;
  40.     }
  41.  
  42.     public int GetHashCode(Gioco obj)
  43.     {
  44.       return obj.Nome.GetHashCode();
  45.     }
  46.   }
  47.  
  48.   class Program
  49.   {
  50.    
  51.     static void Main()
  52.     {
  53.       List<KeyValuePair<string, Amico>> listaAmici = new();
  54.       listaAmici.Add(new KeyValuePair<string, Amico>("Giorgio", new Amico("Giorgio", "0345-82347")));
  55.       listaAmici.Add(new KeyValuePair<string, Amico>("Massimo", new Amico("Massimo", "0345-234643")));
  56.  
  57.       Dictionary<String, Amico> amici = new(listaAmici);
  58.  
  59.       Console.WriteLine( amici.TryAdd("Giorgio", new Amico("Giorgio", "02-82347")) );
  60.  
  61.       amici["Giorgio"] = new Amico("Giorgio", "02-82347");
  62.       Console.WriteLine(amici["Giorgio"].Telefono);
  63.  
  64.       Dictionary<Gioco, Amico> abbinamenti = new( new GiocoComparer() );
  65.       //Gioco g = new Gioco("Tennis", 12);
  66.       abbinamenti.Add(new Gioco("Tennis", 12), amici["Massimo"]);
  67.      
  68.       Console.WriteLine(abbinamenti.ContainsKey(new Gioco("Tennis", 12)));
  69.  
  70.       Dictionary<RecGioco, Amico> abbinamentiRec = new();
  71.       abbinamentiRec.Add(new RecGioco("Tennis", 12), amici["Massimo"]);
  72.       Console.WriteLine(abbinamentiRec.ContainsKey(new RecGioco("Tennis", 12)));
  73.  
  74.       SortedDictionary<Gioco, Amico> sd = new();
  75.       SortedList<Gioco, Amico> sl = new();
  76.  
  77.     }
  78.   }
  79. }
  80.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement