コード例 #1
0
        //
        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);
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: ikostan/EqualityInDotNet
        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));
        }