Процесс выполнения запроса linq

case1

var numbers = new List<int>();
numbers.Add (1);
IEnumerable<int> query = numbers.Select (n => n * 10);    // Build query
numbers.Add (2);

//Use or execute query  

case2

var numbers = new List<int>() { 1, 2 };
numbers.Add(4);
List<int> query  = numbers
  .Select (n => n * 10) 
  .ToList();                      // Executes immediately into a List<int>
numbers.Add(3);
numbers.Clear();

//Use or execute query

Почему в первом случае запрос содержит оба 1,2

Во втором случае запрос содержит только 1 , 2,4, но не 3, потому что мы вызываем метод .ToList ().

0
задан Lalitya 3 November 2011 в 10:14
поделиться