我很難理解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表達式。 –