Group Query : Group « LINQ « C# / CSharp Tutorial





using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

    class Customer
    {
        public string ID { get; set; }
        public string City { get; set; }
        public string Country { get; set; }
        public string Region { get; set; }
        public decimal Sales { get; set; }

    }
    class Program
    {
        static void Main(string[] args)
        {
            List<Customer> customers = new List<Customer> {
              new Customer { ID="Q", City="London", Country="UK", Region="Europe", Sales=8000 },
              new Customer { ID="R", City="Beijing", Country="China", Region="Asia", Sales=9000 },
              new Customer { ID="T", City="Lima", Country="Peru", Region="South America", Sales=2002 }
           };

            var queryResults =
                from c in customers
                group c by c.Region into cg
                select new { TotalSales = cg.Sum(c => c.Sales), Region = cg.Key }
               ;

            var orderedResults =
                from cg in queryResults
                orderby cg.TotalSales descending
                select cg
             ;
            foreach (var item in orderedResults)
            {
                Console.WriteLine(item.TotalSales + "\t: " + item.Region);
            }
        }
    }










22.46.Group
22.46.1.Select from a Group
22.46.2.Group words by length
22.46.3.Using group to group all employees by department
22.46.4.Group Query
22.46.5.Grouping by substring