Je suis confus quant à la portée de la variable lambda, prenez par exemple le cas suivant
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
};
À la ligne 1, j'ai déclaré une variable lambda 'o', ce qui signifie que je ne peux pas la déclarer à nouveau à la ligne 2 (ou du moins le compilateur se plaint si j'essaie de le faire). Mais il ne se plaint pas de la ligne 3, même si 'o1' existe déjà ?
Quelle est la portée d'une variable lambda ?