예제 #1
0
        public LinqTest()
        {
            var ic = new TestModel[5];

            ic[0] = new TestModel("test1", 43);
            ic[1] = new TestModel("test5", 4);
            ic[2] = new TestModel("test1", 1);
            ic[3] = new TestModel("test4", 1);
            ic[4] = new TestModel("test5", 9);

            var ib = new TestModel[5];

            ib[0] = new TestModel("cat1", 1);
            ib[1] = new TestModel("cat2", 2);
            ib[2] = new TestModel("test1", 3);
            ib[3] = new TestModel("cat4", 4);
            ib[4] = new TestModel("cat5", 5);

            var i = new int[] { 3, 4, 5, 2, 3, 4, 53, 8, 4, 3 };
            var k = from ia in ic orderby ia.name select ia.value2;
            var k1 = from a in ic join b in ib on new { comp = a.name } equals new { comp = b.name } select a;
            var k2  = from a in ic group a by a.value > 3;
            var k3  = i.Where(a => a > 3).Where(b => b > 8);
            var k4  = ic.OrderBy(a => a.name).OrderBy(a => a.value);
            var k5  = ic.Select(p => new { Last = p.name });
            var k55 = ib.Where(x => x.name == "test1").Select(s => new { s.name, s.value });
            var k6  = ic.SelectMany(e => ib.Where(x => x.name == e.name).Select(s => new { s.name, e.value }));
            var k7  = ic.Concat(ib).OrderBy(x => x.name);
            var k8  = i.Distinct();

            foreach (var i1 in k2)
            {
                Console.WriteLine($"number {i1.Key}");
                foreach (var i2 in i1)
                {
                    Console.WriteLine($"g {i2.name}");
                }
            }
        }