基本
LINQ 在查詢集合(或陣列)方面非常有用。
例如,給出以下示例資料:
var classroom = new Classroom
{
new Student { Name = "Alice", Grade = 97, HasSnack = true },
new Student { Name = "Bob", Grade = 82, HasSnack = false },
new Student { Name = "Jimmy", Grade = 71, HasSnack = true },
new Student { Name = "Greg", Grade = 90, HasSnack = false },
new Student { Name = "Joe", Grade = 59, HasSnack = false }
}
我們可以使用 LINQ 語法查詢此資料。例如,要檢索今天吃零食的所有學生:
var studentsWithSnacks = from s in classroom.Students
where s.HasSnack
select s;
或者,要檢索成績為 90 或以上的學生,只返回他們的名字,而不是完整的 Student
物件:
var topStudentNames = from s in classroom.Students
where s.Grade >= 90
select s.Name;
LINQ 功能由兩個執行相同功能的語法組成,具有幾乎相同的效能,但寫法卻截然不同。上例中的語法稱為查詢語法。但是,以下示例說明了方法語法。將返回相同的資料,如上例所示,但查詢的編寫方式不同。
var topStudentNames = classroom.Students
.Where(s => s.Grade >= 90)
.Select(s => s.Name);