LINQ C# Tutorial

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
public class MainClass{
   public static void Main(string[] args){   
         String[] TestData = {"One", "Two", "Three", "Four",
                              "Five", "Six", "Seven", "Eight", 
                              "Nine", "Ten"};
         var ThisQuery = from ThisElement in TestData
                         group ThisElement 
                         by ThisElement.Substring(0, 1)
                         into Groups
                         orderby Groups.Key
                         select Groups;
         foreach (var ThisElement in ThisQuery)
         {
            Console.WriteLine(ThisElement.Key);
            foreach (String ThisText in ThisElement)
               Console.WriteLine(ThisText);
         }
   }
}