// private static void SampleEqualityComparer() { var list = new HashSet <FoodItem>(FoodItemEqualityComparer.Instance()); list.Add(new FoodItem("banana", FoodType.Fruit)); list.Add(new FoodItem("baNanA", FoodType.Fruit)); list.Add(new FoodItem("orange", FoodType.Fruit)); list.Add(new FoodItem("Apple", FoodType.Fruit)); list.Add(new FoodItem("apple", FoodType.Fruit)); list.Add(new FoodItem("banana", FoodType.Fruit)); list.Add(new FoodItem("pear", FoodType.Fruit)); foreach (var item in list) { Console.WriteLine(item); } Console.WriteLine(); var list2 = new HashSet <FoodItem>(EqualityComparer <FoodItem> .Default); list2.Add(new FoodItem("banana", FoodType.Fruit)); list2.Add(new FoodItem("baNanA", FoodType.Fruit)); list2.Add(new FoodItem("orange", FoodType.Fruit)); list2.Add(new FoodItem("Apple", FoodType.Fruit)); list2.Add(new FoodItem("apple", FoodType.Fruit)); list2.Add(new FoodItem("banana", FoodType.Fruit)); list2.Add(new FoodItem("pear", FoodType.Fruit)); foreach (var item in list2) { Console.WriteLine(item); } }
private static void TestStandartHash() { FoodItem beetroot = new FoodItem("beetroot", FoodType.Vegetables); FoodItem pickledBeetroot = new FoodItem("beetroot", FoodType.Sweets); var eqComparer = FoodItemEqualityComparer.Instance(); bool equals = eqComparer.Equals(beetroot, pickledBeetroot); Console.WriteLine("Equals? " + equals.ToString()); Console.WriteLine(eqComparer.GetHashCode(beetroot)); Console.WriteLine(eqComparer.GetHashCode(pickledBeetroot)); }