【发布时间】:2011-11-12 12:58:33
【问题描述】:
案例1
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
案例2
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()方法。
【问题讨论】: