我对 lambda 变量的范围感到困惑,例如以下
var query =
from customer in clist
from order in olist
.Where(o => o.CustomerID == customer.CustomerID && o.OrderDate == // line 1
olist.Where(o1 => o1.CustomerID == customer.CustomerID) // line 2
.Max(o1 => o1.OrderDate) // line 3
)
select new {
customer.CustomerID,
customer.Name,
customer.Address,
order.Product,
order.OrderDate
};
在第 1 行中,我声明了一个 lambda 变量 'o',这意味着我不能在第 2 行中再次声明它(或者如果我尝试这样做,至少编译器会抱怨)但是即使 'o1' 已经存在,它也不会抱怨第 3 行??
lambda 变量的作用域是什么?