Пример #1
0
        public static void Main(string[] args)
        {
            OrderBy1.QuerySyntaxExample();
            OrderBy1.MethodSyntaxExample();

            OrderBy2.QuerySyntaxExample();
            OrderBy2.MethodSyntaxExample();

            OrderBy3.QuerySyntaxExample();
            OrderBy3.MethodSyntaxExample();

            OrderByComparer1.MethodSyntaxExample();

            OrderByDescending1.QuerySyntaxExample();
            OrderByDescending1.MethodSyntaxExample();

            OrderByDescending2.QuerySyntaxExample();
            OrderByDescending2.MethodSyntaxExample();

            OrderByDescendingComparer1.MethodSyntaxExample();

            ThenBy1.QuerySyntaxExample();
            ThenBy1.MethodSyntaxExample();

            ThenByComparer1.MethodSyntaxExample();

            ThenByDescending1.QuerySyntaxExample();
            ThenByDescending1.MethodSyntaxExample();

            ThenByDescendingComparer1.MethodSyntaxExample();

            Reverse1.QuerySyntaxExample();
            Reverse1.MethodSyntaxExample();
        }
Пример #2
0
        public void Exercise2()
        {
            var names = new List <ChangeOrder2.Name>
            {
                new NameImpl2("Johan Sebastian Bach"),
                new NameImpl2("Martin Luther King"),
                new NameImpl2("Billie Jean King"),
                new NameImpl2("Im The King"),
                new NameImpl2("Franklin Delano Roosevelt")
            };
            var description = "{" + string.Join(", ", names) + "}";

            Utils.CgMessage($"About to test SortNames({description})");
            var answer = ThenBy1.SortNames(names);
            var str    = string.Join(", ", answer.Select(_ => _.First));

            Utils.AssertAreEqual("Johan, Billie, Im, Martin, Franklin", str, description);

            Utils.CgMessage(string.Empty);
            names = new List <ChangeOrder2.Name>
            {
                new NameImpl2("Hillary Rodham Clinton"),
                new NameImpl2("Edgar Ellen Poe"),
                new NameImpl2("Edgar Allan Poe"),
                new NameImpl2("John Fitzgerald Kennedy")
            };
            description = "{" + string.Join(", ", names) + "}";
            Utils.CgMessage($"About to test SortNames({description})");
            answer = ThenBy1.SortNames(names);
            str    = string.Join(", ", answer.Select(_ => _.Middle));
            Utils.AssertAreEqual("Rodham, Fitzgerald, Allan, Ellen", str, description);

            Utils.CgMessage(string.Empty);
            Utils.CgMessage("Congratulations, you did it!");
        }