English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Срочное выполнение запросов LINQ

Прямое выполнение в противоположность задержке выполнения. Оно принуждает 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()

Оператор запроса

C#:
var teenAgerStudents = from s in studentList
                where s.age > 12 && s.age < 20
                select s;

Этот запрос не будет выполнен немедленно. Вы не найдете никаких результатов, как показано ниже:

Срочно выполнить

Оператор запроса не поддерживает оператор “To”, но можно использовать ToList(), ToArray() или ToDictionary() для срочного выполнения, как показано ниже:

C#:
IList<Student> teenAgerStudents = (from s in studentList
                where s.age > 12 && s.age < 20
                select s).ToList();
VB.Net:
Dim teenAgerStudents As IList(Of Student) = (From s In studentList _
                Where s.Age > 12 And s.Age < 20 _
                Select s).ToList()

Вы можете увидеть результаты в集合е teenAgerStudents, например:

Срочно выполнить