示例#1
0
        static void Main(string[] args)
        {
            Person[] personList = new Person[]
            {
                new Person {
                    firstName = "Declase", lastName = "Deen", age = 88
                },
                new Person {
                    firstName = "Alex", lastName = "Huem", age = 34
                },
                new Person {
                    firstName = "Carty", lastName = "Cooler", age = 57
                },
                new Person {
                    firstName = "Bary", lastName = "Bart", age = 22
                }
            };

            IComparer <Person> firstNameComparer = new firstNameComparer();
            IComparer <Person> lastNameComparer  = new lastNameComparer();
            IComparer <Person> ageComparer       = new ageComparer();

            Array.Sort(personList, firstNameComparer);
            Console.WriteLine("\nSorted by firstname\n");
            foreach (Person p in personList)
            {
                Console.WriteLine(p.firstName + "  " + p.lastName);
            }

            Array.Sort(personList, lastNameComparer);
            Console.WriteLine("\nSorted by lastname\n");
            foreach (Person p in personList)
            {
                Console.WriteLine(p.firstName + "  " + p.lastName);
            }

            Array.Sort(personList, ageComparer);
            Console.WriteLine("\nSorted by Age\n");
            foreach (Person p in personList)
            {
                Console.WriteLine(p.firstName + "  " + p.lastName + "  " + p.age);
            }
            Console.ReadKey();
        }
示例#2
0
        public static void execute()
        {
            //IEqualityComparer
            var actors = Actor.CreateSome();

            actors.Add(new Actor()
            {
                FirstName = "George", LastName = "Clooney"
            });
            var distinct = actors.Distinct(new ActorComparer());

            foreach (var actr in distinct)
            {
                Console.WriteLine(actr);
            }


            //Icomparer
            IComparer <Actor> firstNameComparer = new firstNameComparer();
            IComparer <Actor> lastNameComparer  = new lastNameComparer();
            var actorArray = actors.ToArray();

            Array.Sort(actorArray, firstNameComparer);
            Console.WriteLine("\n\nSorted by firstname");
            foreach (var actr in actorArray)
            {
                Console.WriteLine(actr);
            }

            Array.Sort(actorArray, lastNameComparer);
            Console.WriteLine("\nSorted by lastname");
            foreach (var actr in actorArray)
            {
                Console.WriteLine(actr);
            }
        }