Example #1
0
        static void Main()
        {
            var list0 = new List <TextCell>
            {
                new TextCell {
                    Text = "A"
                },
                new TextCell {
                    Text = "Aa"
                },
                new TextCell {
                    Text = "Ab"
                },
                new TextCell {
                    Text = "Ac"
                },
                new TextCell {
                    Text = "Abb"
                },
                new TextCell {
                    Text = "B"
                },
                new TextCell {
                    Text = "Ba"
                },
                new TextCell {
                    Text = "Bg"
                },
                new TextCell {
                    Text = "Bd"
                },
                new TextCell {
                    Text = "Ba", Detail = "det"
                },
                new TextCell {
                    Text = "Br"
                },
                new TextCell {
                    Text = "C"
                },
                new TextCell {
                    Text = "Cc"
                },
                new TextCell {
                    Text = "C"
                },
            };
            //List<IGrouping<string, TextCell>>
            var list1 = list0.OrderBy(c => c.Text).GroupBy(c => c.Text[0].ToString(), c => c).Select(i => new Grouper <string, TextCell> {
                Item = i
            }).ToList();

            //list1;//.Select( g = new Typle<string, TextCell>())

            return;

            for (var i = 0; i < 20; i++)
            {
                Console.WriteLine(i % 5);
            }

            Console.Read();
            return;

            var visitor = new PersonVisitor();

            var child    = new Child();
            var teenager = new Teenager();
            var person   = new Person();
            var date     = new DateTime();
            var list     = new List <string>();
            var obj      = new object();

            visitor.Visit(child);
            visitor.Visit(teenager);
            visitor.Visit(person);
            visitor.Visit(date);
            visitor.Visit(list);
            visitor.Visit(obj);

            child.Visit();
            teenager.Visit();
            person.Visit();
            date.Visit();

            Console.Read();
        }