Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

หลายคำสั่ง Where ใน C # Linq


กรองคอลเลกชันโดยใช้คำสั่ง 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