在C#中,LINQ(Language Integrated Query)和Lambda表達式可以幫助我們更簡潔地處理復雜查詢。它們允許我們以聲明性方式編寫查詢,而不是使用傳統的命令式編程。下面是一些示例,說明如何使用LINQ和Lambda表達式處理復雜查詢。
Student
類和一個包含多個學生的List<Student>
:public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public double GPA { get; set; }
}
List<Student> students = new List<Student>
{
// 添加一些學生對象
};
var result = from s in students
where s.Age > 18 && s.GPA > 3.0
select s;
var result = students.Where(s => s.Age > 18 && s.GPA > 3.0);
var result = from s in students
orderby s.GPA descending
select s;
var result = students.OrderByDescending(s => s.GPA);
var result = from s in students
group s by s.Age into ageGroup
select new { Age = ageGroup.Key, AverageGPA = ageGroup.Average(s => s.GPA) };
var result = students.GroupBy(s => s.Age)
.Select(ageGroup => new { Age = ageGroup.Key, AverageGPA = ageGroup.Average(s => s.GPA) });
這些示例展示了如何使用LINQ和Lambda表達式處理復雜查詢。通過將查詢邏輯與數據操作分離,我們可以編寫更具可讀性和可維護性的代碼。