Mega Code Archive

 
Categories / C# / LINQ
 

Partitions an array of words into groups according to the first letter of each word

using System; using System.Collections.Generic; using System.Linq; using System.Text; public class MainClass {     public static void Main() {         string[] words = { "b", "c", "a", "ba", "ae", "ch" };         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);             }         }     } }