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 ().