有例为证:
{
new Employee(){ id="1001", name="ivan", dept="isd", tel="1021"},
new Employee(){ id="1002", name="ivan", dept="isd", tel="1021"},
};
var query = from e in emps
select e;
emps.Add(new Employee(){ id="1003", name="ivan", dept="isd", tel="1021"});
Console.WriteLine(query.Count());
运行一下,就可以知道,此Count为3,而不是2.
如果想要LINQ在定义的时候就对结果进行“存储”,可以利用ToList, ToArray等转换运算符。
select e;
emps.Add(new Employee() { id = "1004", name = "ivan", dept = "isd", tel = "1021" });
Console.WriteLine(query2.Count());