กรองคอลเลกชันโดยใช้คำสั่ง Where ใน C # นิพจน์แบบสอบถามเดียวอาจมีหลายส่วนคำสั่ง
ขั้นแรก ตั้งค่าคอลเลกชัน −
IList<Employee> employee = new List<Employee>() { new Employee() { EmpID = 1, EmpName = "Tom", EmpMarks = 90, Rank = 8} , new Employee() { EmpID = 2, EmpName = "Anne", EmpMarks = 60, Rank = 21 } , new Employee() { EmpID = 3, EmpName = "Jack", EmpMarks = 76, Rank = 18 } , new Employee() { EmpID = 4, EmpName = "Amy" , EmpMarks = 67, Rank = 20} , };
ทีนี้ ลองใช้คำสั่ง where แบบทวีคูณเพื่อให้พนักงานที่มีอันดับมากกว่า 5 และน้อยกว่า 10
var res = from e in employee where e.Rank > 5 where e.Rank < 10 select e;
ต่อไปนี้เป็นรหัส −
ตัวอย่าง
using System; using System.Linq; using System.Collections.Generic; public class Demo { public static void Main() { IList<Employee> employee = new List<Employee>() { new Employee() { EmpID = 1, EmpName = "Tom", EmpMarks = 90, Rank = 8} , new Employee() { EmpID = 2, EmpName = "Anne", EmpMarks = 60, Rank = 21 } , new Employee() { EmpID = 3, EmpName = "Jack", EmpMarks = 76, Rank = 18 } , new Employee() { EmpID = 4, EmpName = "Amy" , EmpMarks = 67, Rank = 20} , }; var res = from e in employee where e.Rank > 5 where e.Rank < 10 select e; foreach (var emp in res) { Console.WriteLine("Name: "+emp.EmpName); Console.WriteLine("Marks: "+emp.EmpMarks); } } } public class Employee { public int EmpID { get; set; } public string EmpName { get; set; } public int EmpMarks { get; set; } public int Rank { get; set; } }
ผลลัพธ์
Name: Tom Marks: 90