LINQ With Lambda Expressions
- LINQ queries can be written in two syntaxes:
- General Query Syntax
- Lambda Expression Syntax
- The previously written applications are written with General Query Syntax.
- Syntax for Lambda Expression:
- Ex: stu.Where(s => s.Marks < 300)
Program with LINQ to LAMBDA EXPRESSIONS
Student.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace LINQtoObjectsDemo { class Student { //fields public int StudentID; public string Name; public string Course; public int Marks; //constructor public Student(int StudentID, string Name, string Course, int Marks) { this.StudentID = StudentID; this.Name = Name; this.Course = Course; this.Marks = Marks; } } } Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace LINQwithLambaExpressions { class Program { static void Main(string[] args) { //data source Student[] stu = { new Student(101, "Prakash", "MBA", 765), new Student(102, "Pradeep", "MBA", 471), new Student(103, "Pushpa", "Msc", 590), new Student(104, "Purna", "MCA", 223), new Student(105, "Purnima", "MCA", 450)}; //linq query with where clause IEnumerableresult1 = stu.Where(s => s.Course == "MCA"); Console.WriteLine("MCA Students:"); foreach (Student r in result1) Console.WriteLine(r.StudentID + ", " + r.Name + ", " + r.Course + ", " + r.Marks); //linq query with compound where clause IEnumerable result2 = stu.Where(s => s.Name.EndsWith("a") && s.Marks >= 400 && s.Marks <= 600); Console.WriteLine("\nStudents whose name ends with 'a', and marks is >=400 and <=600:"); foreach (Student r in result2) Console.WriteLine(r.StudentID + ", " + r.Name + ", " + r.Course + ", " + r.Marks); //linq query with orderby clause IEnumerable result4 = stu.OrderBy(s => s.Marks); Console.WriteLine("\nStudents (sort on marks):"); foreach (Student r in result4) Console.WriteLine(r.StudentID + ", " + r.Name + ", " + r.Course + ", " + r.Marks); //linq query with orderby clause (descending) IEnumerable result5 = stu.OrderByDescending(s => s.Marks); Console.WriteLine("\nStudents (sort on marks - descending):"); foreach (Student r in result5) Console.WriteLine(r.StudentID + ", " + r.Name + ", " + r.Course + ", " + r.Marks); //linq query with group clause IEnumerable > result6 = stu.GroupBy(s => s.Course); Console.WriteLine("\nStudents with grouping:"); foreach (IGrouping > StuGrp in result6) { Console.WriteLine(StuGrp.Key + ":"); foreach (Student r in StuGrp) Console.WriteLine(" " + r.StudentID + ", " + r.Name + ", " + r.Course + ", " + r.Marks); } Console.Read(); } } }
Previous Page : LINQ
No comments:
Post a Comment