我很难理解lambda表达式。根据我的理解,lambda表达式是一种方便(更少代码)的方法,用于匿名方法的表示。我了解匿名方法。在下面的代码示例中如何将lambda表达式更改为匿名方法?将lambda表达式转换为匿名方法?
public class CustomersController : Controller {
// GET: Customers
public ViewResult Index() {
var customers = GetCustomer();
return View(customers);
}
public ActionResult Details(int id) {
var customers = GetCustomer().SingleOrDefault(c => c.Id == id);
if (customers == null)
return HttpNotFound();
return View(customers);
}
private IEnumerable<Customers> GetCustomer() {
return new List<Customers> {
new Customers { Id = 1, Name="John Smith"},
new Customers { Id = 2, Name = "Mary Smith"}
};
}
}
Lambda表达式可以转换为[表达式树](https://msdn.microsoft.com/en-us/library/mt654263.aspx),而匿名方法则不能。因此,当处理需要表达树的框架/库时,例如实体框架,你必须使用lambda表达式。 –