using System; using System.Linq; namespace ClassExamples { class LinqDemo { public static void Main() { var students = new [] { new {ID = 100, Name = "Tom", Major = "CS"}, new {ID = 200, Name = "Dave", Major = "CS"}, new {ID = 300, Name = "Jane", Major = "ECE"} }; // Select example var result1 = from s in students select new { s.ID, s.Name }; foreach (var v in result1) { Console.WriteLine(v.ID + "\t" + v.Name); } // Where example var result3 = from s in students where s.Major == "CS" select s; Console.WriteLine("CS Students"); Console.WriteLine("-----------"); foreach (var v in result3) { Console.WriteLine(v.Name); } // Order by example var result4 = from s in students where s.Major == "CS" orderby s.Name ascending select s; Console.WriteLine("CS Students"); Console.WriteLine("-----------"); foreach (var v in result4) { Console.WriteLine(v.Name); } // Group by example var result5 = from s in students group s by s.Major into g select new { Major = g.Key, Count = g.Count() }; Console.WriteLine("Major Count"); Console.WriteLine("-----------"); foreach (var v in result5) { Console.WriteLine(v.Major + "\t" + v.Count); } // Join example var result6 = from s1 in students join s2 in students on s1.Major equals s2.Major where s1.ID != s2.ID select new {Name1 = s1.Name, Name2 = s2.Name}; Console.WriteLine("Major Pairs"); Console.WriteLine("-----------"); foreach (var v in result6) { Console.WriteLine(v.Name1 + " -- " + v.Name2); } } } }