public static void RunDemo() { Console.WriteLine("Equality for value types demo: Demonstrates a value type for" + " which equality has been implemented"); FoodItemValueType banana = new FoodItemValueType("banana", FoodGroup.Fruit); FoodItemValueType banana2 = new FoodItemValueType("banana", FoodGroup.Fruit); FoodItemValueType chocolate = new FoodItemValueType("chocolate", FoodGroup.Sweets); Console.WriteLine("banana == banana2: " + (banana == banana2)); // returns TRUE : value equality Console.WriteLine("banana2 == chocolate: " + (banana2 == chocolate)); // returns FALSE : value equality Console.WriteLine("chocolate == banana: " + (chocolate == banana)); // returns FALSE : value equality Console.WriteLine(); }
public static void RunDemo() { Console.WriteLine("FoodItemNameOnlyEqualityComparerDemo:"); FoodItemValueType beetroot = new FoodItemValueType("beetroot", FoodGroup.Vegetables); FoodItemValueType pickledBeetroot = new FoodItemValueType("beetroot", FoodGroup.Sweets); var eqComparer = FoodItemNameOnlyEqualityComparer.Instance; bool result = eqComparer.Equals(beetroot, pickledBeetroot); Console.WriteLine("Equals? " + result.ToString()); Console.WriteLine(eqComparer.GetHashCode(beetroot)); Console.WriteLine(eqComparer.GetHashCode(pickledBeetroot)); Console.WriteLine(); }