using System.Collections;
using System.Collections.Generic;
public int StudentID { get; set; }
public String StudentName { get; set; }
public int Age { get; set; }
public static void Main()
List<Student> lst = new List<Student>{
new Student() { StudentID = 1, StudentName = "John", Age = 18 } ,
new Student() { StudentID = 2, StudentName = "Steve", Age = 21 } ,
new Student() { StudentID = 3, StudentName = "Bill", Age = 25 } ,
new Student() { StudentID = 4, StudentName = "Ram" , Age = 20 } ,
new Student() { StudentID = 4, StudentName = "Ram" , Age = 22 } ,
new Student() { StudentID = 4, StudentName = "Ram" , Age = 18 } ,
new Student() { StudentID = 5, StudentName = "Ron" , Age = 31 } ,
new Student() { StudentID = 6, StudentName = "Chris", Age = 21 } ,
new Student() { StudentID = 7, StudentName = "Rob",Age = 19 } ,
where s.StudentName.StartsWith("R") select s;
var orderByResult = (from s in lst
orderby s.StudentName descending, s.Age descending
var groupedResult = from s in lst
foreach (var ageGroup in groupedResult)
Console.WriteLine("Age Group: {0}", ageGroup .Key);
foreach(Student s in ageGroup)
Console.WriteLine("Student Name: {0}", s.StudentName);
public static void Display(List<Student> lst)
Console.WriteLine("--------------------------------------------------------");
foreach (Student std in lst)
Console.WriteLine(" -- "+std.Age.ToString()+" -- "+std.StudentName.ToString());