public override bool Equals(object obj) { bool res = true; LinearHashTable ht = obj as LinearHashTable; if (ht.Size() != Size()) { res = false; } else { Person[] personArray1 = ToArray(); Person[] personArray2 = ht.ToArray(); for (int i = 0; i < personArray1.Length; i++) { if (!personArray1[i].Equals(personArray2[i])) { res = false; break; } else { res = true; } } } return(res); }
static void Main(string[] args) { LinearHashTable ht = new LinearHashTable(); Person[] arr = ht.ToArray(); //ChainedHashTable ht = new ChainedHashTable(); ht.Add(new Person(1, "Uasya", "Pipirkin", 41)); ht.Add(new Person(2, "Vasya", "Pupkin", 42)); ht.Add(new Person(3, "Vasya", "Papkin", 43)); ht.Add(new Person(4, "Kasya", "Babkin", 44)); ht.Add(new Person(5, "Masya", "Lapkin", 45)); Console.WriteLine(new Person(1, "Uasya2", "Pipirkin3", 41).GetHashCode() % 11); Console.WriteLine(new Person(2, "Vasya2", "Pupkin3", 42).GetHashCode() % 11); Console.WriteLine(new Person(3, "Vasya2", "Papkin3", 43).GetHashCode() % 11); Console.WriteLine(new Person(4, "Kasya2", "Babkin3", 44).GetHashCode() % 11); Console.WriteLine(new Person(5, "Masya2", "Lapkin3", 45).GetHashCode() % 11); //ht.Delete(new Person(5, "Masya", "Lapkin", 45)); Console.WriteLine(ht.Get(new Person(4, "Kasya", "Babkin", 44).GetHashCode())); foreach (var item in ht) { Console.WriteLine(item.ToString()); } Console.ReadKey(); }