立即執(zhí)行與延遲執(zhí)行相反。它強(qiáng)制LINQ查詢執(zhí)行并立即獲取結(jié)果?!?To”轉(zhuǎn)換運(yùn)算符執(zhí)行給定的查詢并立即給出結(jié)果。
在下面的示例中,ToList()擴(kuò)展方法立即執(zhí)行查詢并返回結(jié)果。
C#:立即執(zhí)行
IList<Student> teenAgerStudents = studentList.Where(s => s.age > 12 && s.age < 20).ToList();
VB.Net:立即執(zhí)行
Dim teenAgerStudents As IList(Of Student) = studentList.Where(Function(s) s.Age > 12 And s.Age < 20).ToList()
var teenAgerStudents = from s in studentList where s.age > 12 && s.age < 20 select s;
上面的查詢不會(huì)立即執(zhí)行。您不會(huì)找到任何結(jié)果,如下所示:
查詢語法不支持“To”運(yùn)算符,但可以使用ToList()、ToArray()或ToDictionary()立即執(zhí)行,如下所示:
IList<Student> teenAgerStudents = (from s in studentList where s.age > 12 && s.age < 20 select s).ToList();
Dim teenAgerStudents As IList(Of Student) = (From s In studentList _ Where s.Age > 12 And s.Age < 20 _ Select s).ToList()
您可以在teenAgerStudents集合中查看結(jié)果,如下所示: