//Hashing é o processo de mapear uma grande quantidade de dados em uma pequena de tamanho fixo. //Em vez de procurar o item pelo objeto, é comparado o hash //HashTable e Dictionary fazem busca pelo hash. //(HashTable não é generico, Dictionary sim) public static void TestarHash() { var vaso1 = new Vaso { Id = 1, Nome = "Vaso1", DataFabricacao = DateTime.Now }; var vaso2 = new Vaso { Id = 2, Nome = "Vaso2", DataFabricacao = DateTime.Now }; var vaso3 = new Vaso { Id = 3, Nome = "Vaso3", DataFabricacao = DateTime.Now }; List <Vaso> listaVaso = new List <Vaso> { vaso1, vaso2, vaso3 }; foreach (var vaso in listaVaso) { string vasoStr = String.Empty; if (vaso1.Equals(vaso)) { vasoStr = "1"; } else if (vaso2.Equals(vaso)) { vasoStr = "2"; } else if (vaso3.Equals(vaso)) { vasoStr = "3"; } Console.WriteLine("Encontrado Vaso " + vasoStr); } }