Grouping Operators (LINQ)
Posted by Rajinder
Last Updated: July 22, 2012

Example 1

This sample uses group by to partition a list of numbers by their remainder when divided by 5.

   public void Linq40() 
    { 
        int[] numbers = { 5413986720 }; 
      
        var numberGroups = 
            from n in numbers 
            group n by n % 5 into g 
            select new { Remainder = g.Key, Numbers = g }; 
      
        foreach (var g in numberGroups) 
        { 
            Console.WriteLine("Numbers with a remainder of {0} when divided by 5:", g.Remainder); 
            foreach (var n in g.Numbers) 
            { 
                Console.WriteLine(n); 
            } 
        } 
    }

Example 2

This sample uses group by to partition a list of words by their first letter.

  public void Linq41() 
    { 
        string[] words = { "blueberry""chimpanzee""abacus""banana""apple""cheese" }; 
      
        var wordGroups = 
            from w in words 
            group w by w[0] into g 
            select new { FirstLetter = g.Key, Words = g }; 
      
        foreach (var g in wordGroups) 
        { 
            Console.WriteLine("Words that start with the letter '{0}':",   g.FirstLetter); 
            foreach (var w in g.Words) 
            { 
                Console.WriteLine(w); 
            } 
        } 
    } 
 

Related Content