using System.Collections.Generic;
public static void Main()
List<Student> ListOfStudent = new List<Student>()
new Student() { Id = 1, Name = "Alen", Age = 19, Gender = "Male", Marks = 500, SchoolId = 2 } ,
new Student() { Id = 2, Name = "Nick", Age = 15, Gender = "Male", Marks = 200, SchoolId = 3 } ,
new Student() { Id = 3, Name = "Niki", Age = 20, Gender = "Female", Marks = 450, SchoolId = 1 } ,
new Student() { Id = 4, Name = "Eric", Age = 22, Gender = "Male", Marks = 600, SchoolId = 1 } ,
new Student() { Id = 5, Name = "Jane", Age = 18, Gender = "Female", Marks = 800, SchoolId = 2 } ,
new Student() { Id = 6, Name = "Bill", Age = 17, Gender = "Male", Marks = 350, SchoolId = 3 } ,
new Student() { Id = 7, Name = "Sara", Age = 24, Gender = "Female", Marks = 300, SchoolId = 3 },
new Student() { Id = 8, Name = "Sara", Age = 22, Gender = "Female", Marks = 400, SchoolId = 1 } ,
new Student() { Id = 9, Name = "Sara", Age = 23, Gender = "Female", Marks = 400, SchoolId = 1 }
List<School> ListOfSchool = new List<School>()
new School() {Id = 1, Name = "Nevada High School"},
new School() {Id = 2, Name = "Texas International School"},
new School() {Id = 3, Name = "Pennsylvania High School"},
var TeenAgeStudent = from student in ListOfStudent
where student.Age > 12 && student.Age < 20
Console.WriteLine("Teen age Students:");
Console.WriteLine("------------------");
foreach(Student student in TeenAgeStudent)
Console.WriteLine("{0} - {1}", student.Name, student.Age);
var SortByName = from student in ListOfStudent
orderby student.Name descending
Console.WriteLine("Order by descending Student name:");
Console.WriteLine("---------------------------------");
foreach(Student student in SortByName)
Console.WriteLine("{0} - {1}", student.Name, student.Age);
var SortByNameThenByAge = ListOfStudent.Where(student => student.Age > 17).ToList().OrderByDescending(student => student.Name).ThenBy(student => student.Age);
Console.WriteLine("Order by descending Student name then by age:");
Console.WriteLine("---------------------------------------------");
foreach(Student student in SortByNameThenByAge)
Console.WriteLine("{0} - {1}", student.Name, student.Age);
var JoinStudentWithSchool = from student in ListOfStudent
join school in ListOfSchool on student.SchoolId equals school.Id
SchoolName = school.Name, StudentName = student.Name
Console.WriteLine("Join School with Student");
Console.WriteLine("------------------------");
foreach(var item in JoinStudentWithSchool)
Console.WriteLine("{0} - {1}", item.SchoolName, item.StudentName);
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string Gender { get; set; }
public decimal Marks { get; set; }
public int SchoolId { get; set; }
public int Id { get; set; }
public string Name { get; set; }