立即执行与延迟执行相反。它强制LINQ查询执行并立即获取结果。“ To”转换运算符执行给定的查询并立即给出结果。
在下面的示例中,ToList()扩展方法立即执行查询并返回结果。
C#:立即执行
IList<Student> teenAgerStudents = studentList.Where(s => s.age > 12 && s.age < 20).ToList();
VB.Net:立即执行
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;
上面的查询不会立即执行。您不会找到任何结果,如下所示:
查询语法不支持“To”运算符,但可以使用ToList()、ToArray()或ToDictionary()立即执行,如下所示:
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集合中查看结果,如下所示: