Exemple #1
0
        static void Main(string[] args)
        {
            List<Duck> ducks = new List<Duck>() {
                new Duck() { Kind = KindOfDuck.Mallard, Size = 17 },
                new Duck() { Kind = KindOfDuck.Muscovy, Size = 18 },
                new Duck() { Kind = KindOfDuck.Decoy, Size = 14 },
                new Duck() { Kind = KindOfDuck.Muscovy, Size = 11 },
                new Duck() { Kind = KindOfDuck.Mallard, Size = 14 },
                new Duck() { Kind = KindOfDuck.Decoy, Size = 13 },
            };

            DuckComparerBySize sizeComparer = new DuckComparerBySize();
            ducks.Sort(sizeComparer);
            PrintDucks(ducks);

            DuckComparerByKind kindComparer = new DuckComparerByKind();
            ducks.Sort(kindComparer);
            PrintDucks(ducks);

            DuckComparer comparer = new DuckComparer();

            comparer.SortBy = SortCriteria.KindThenSize;
            ducks.Sort(comparer);
            PrintDucks(ducks);

            comparer.SortBy = SortCriteria.SizeThenKind;
            ducks.Sort(comparer);
            PrintDucks(ducks);

            // This keeps the output from disappearing before you can read it
            Console.ReadKey();

        }
		static void Main(string[] args)
		{
			List<Duck> ducks = new List<Duck>()
			{
				new Duck() {Kind = KindOfDuck.Mallard, Size = 17},
				new Duck() {Kind = KindOfDuck.Muscovy, Size = 18},
				new Duck() {Kind = KindOfDuck.Decoy, Size = 14},
				new Duck() {Kind = KindOfDuck.Muscovy, Size = 11},
				new Duck() {Kind = KindOfDuck.Mallard , Size = 14},
				new Duck() {Kind = KindOfDuck.Decoy, Size = 13},
			};

			DuckComparer duckComparer = new DuckComparer(SortCriteria.KindThenSize);

			//Duck[] duckArray = new Duck[6];
			//duckArray.GetEnumerator();
			//ducks[0].CompareTo(ducks[1]);
			//ducks.OrderBy(x => x.Size);
			//DuckComparerBySize sizeComparer = new DuckComparerBySize();
			//DuckComparerByKInd kindComparer = new DuckComparerByKInd();
			////ducks.Sort(sizeComparer);
			//ducks.Sort(kindComparer);
			ducks.Sort(duckComparer);
			ducks.GetEnumerator();
			PrintDucks(ducks);
			Console.ReadKey();


		}
Exemple #3
0
        public static void Main(string[] args)
        {
            var ducks = new Ducks()
            {
                new Duck(17, Duck.KindOfDuck.Mallard),
                new Duck(18, Duck.KindOfDuck.Muscovy),
                new Duck(14, Duck.KindOfDuck.Decoy),
                new Duck(11, Duck.KindOfDuck.Muscovy),
                new Duck(14, Duck.KindOfDuck.Mallard),
                new Duck(13, Duck.KindOfDuck.Decoy),
            };

            Console.WriteLine(ducks);
            Console.WriteLine("\n");

            Console.WriteLine("Using CompareTo..............................\n");
            ducks.Sort();
            Console.WriteLine(ducks);

            Console.WriteLine("Using DuckComparer SizeThenKind..............................\n");
            DuckComparer comparer = new DuckComparer(DuckComparer.SortCriteria.SizeThenKind);
            ducks.Sort(comparer);
            Console.WriteLine(ducks);

            Console.WriteLine("Using DuckComparer KindThenSize..............................\n");
            comparer.SortCriterion = DuckComparer.SortCriteria.KindThenSize;
            ducks.Sort(comparer);
            Console.WriteLine(ducks);

            Console.ReadKey();
        }
Exemple #4
0
        static void Main(string[] args)
        {
            List<Duck> ducks = new List<Duck>
            {
                new Duck() {Kind= KindOfDuck.Mallard, Size = 17},
                new Duck() {Kind= KindOfDuck.Muscovy, Size = 18},
                new Duck() {Kind= KindOfDuck.Decoy, Size = 14},
                new Duck() {Kind= KindOfDuck.Muscovy, Size = 11},
                new Duck() {Kind= KindOfDuck.Mallard, Size = 14},
                new Duck() {Kind= KindOfDuck.Decoy, Size = 13},

            };

            PrintDucks(ducks); // Prints initial list of ducks

            // Size comparer
            DuckComparerBySize sizeComparer = new DuckComparerBySize();
            ducks.Sort(sizeComparer);

            Console.WriteLine("\rAnd now we will sort our ducks by size!\n");
            Console.ReadKey(); // Output stab

            PrintDucks(ducks); // Prints sorted list of ducks

            // Kind comparer
            DuckComparerByKind kindComparer = new DuckComparerByKind();
            ducks.Sort(kindComparer);

            Console.WriteLine("\rAnd now we will sort our ducks by kind!\n");
            Console.ReadKey(); // Output stab

            PrintDucks(ducks); // Prints sorted list of ducks

            // Flexible comparer
            DuckComparer duckComparer = new DuckComparer();
            duckComparer.SortBy = SortCriteria.SizeThenKind; // Comparison method choosing

            string comparisonMethod = duckComparer.SortBy.ToString();
            Console.WriteLine("\rAnd now we will sort our ducks with more flexible comparer!\n" + "Comparison method: "+comparisonMethod);
            Console.ReadKey(); // Output stab

            ducks.Sort(duckComparer);
            PrintDucks(ducks); // Prints sorted list of ducks
            Console.ReadKey(); // Output stab
        }
Exemple #5
0
        static void Main(string[] args)
        {
            List<Duck> ducks = new List<Duck>()
                                   {
                                       new Duck() { Kind = KindOfDuck.Mallard, Size = 17 },
                                       new Duck() { Kind = KindOfDuck.Muscovy, Size = 18 },
                                       new Duck() { Kind = KindOfDuck.Decoy, Size = 14 },
                                       new Duck() { Kind = KindOfDuck.Muscovy, Size = 11 },
                                       new Duck() { Kind = KindOfDuck.Mallard, Size = 14 },
                                       new Duck() { Kind = KindOfDuck.Decoy, Size = 13 },
                                   };
            IEnumerable<Bird> upcastDucks = ducks;

            DuckComparerBySize sizeComparer = new DuckComparerBySize();
            DuckComparerByKind kindComparer = new DuckComparerByKind();
            DuckComparer comparer = new DuckComparer();
            PrintDucks(ducks);
            ducks.Sort();
            PrintDucks(ducks);
            ducks.Sort(sizeComparer);
            PrintDucks(ducks);
            ducks.Sort(kindComparer);
            PrintDucks(ducks);
            comparer.SortBy = SortCriteria.KindThenSize;
            ducks.Sort(comparer);
            PrintDucks(ducks);
            comparer.SortBy = SortCriteria.SizeThenKind;
            ducks.Sort(comparer);
            PrintDucks(ducks);
            Console.ReadKey();

            List<Bird> birds = new List<Bird>();

            birds.Add(new Bird() {Name = "Feathers"});
            birds.AddRange(upcastDucks);
            birds.Add(new Penguin() { Name = "George" });

            foreach (Bird bird in birds)
            {
                Console.WriteLine(bird);
            }
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            List<Duck> ducks = new List<Duck>(){
                new Duck() {Kind = KindOfDuck.Mallard, Size = 17},
                new Duck() {Kind = KindOfDuck.Muscovy, Size = 18},
                new Duck() {Kind = KindOfDuck.Decoy, Size = 14},
                new Duck() {Kind = KindOfDuck.Mallard, Size = 11},
                new Duck() {Kind = KindOfDuck.Muscovy, Size = 14},
                new Duck() {Kind = KindOfDuck.Decoy, Size = 13}
            };

            Console.WriteLine("Ducks compared within class by size");
            ducks.Sort();
            PrintDucks(ducks);

            Console.WriteLine("Ducks compared with comparer class by size");
            DuckComparerBySize sizeComparer = new DuckComparerBySize();
            ducks.Sort(sizeComparer);
            PrintDucks(ducks);

            Console.WriteLine("Ducks compared with comparer class by kind");
            DuckComparerByKind kindComparer = new DuckComparerByKind();
            ducks.Sort(kindComparer);
            PrintDucks(ducks);

            DuckComparer comparer = new DuckComparer();
            Console.WriteLine("Ducks compared with enum comparer class by kind then size");
            comparer.SortBy = SortCriteria.KindThenSize;
            ducks.Sort(comparer);
            PrintDucks(ducks);

            Console.WriteLine("Ducks compared with enum comparer class by size then kind");
            comparer.SortBy = SortCriteria.SizeThenKind;
            ducks.Sort(comparer);
            PrintDucks(ducks);

            Console.ReadKey();
        }