Итак, я реализую проект из книги, и меня несколько смущает вопрос, ПОЧЕМУ мне нужны эти лямбды.
public class Cart
{
private List<CartLine> lineCollection = new List<CartLine>();
public class CartLine
{
public Product Product { get; set; }
public int Quantity { get; set; }
}
public void RemoveLine(Product product)
{
lineCollection
.RemoveAll(p => p.Product.ProductID == product.ProductID);
}
}
Зачем мне нужно .RemoveAll(p=> p.Product.ProductID == product.ProductID)
?
Это как раз связано с .RemoveAll
НУЖДАЮТСЯ в лямбда-выражении? Я не уверен, почему я не могу использовать this.Product.ProductID
, я понимаю, что Product - это список, p=> P.Product
выполняет какую-то итерацию и сравнивает значения, пока не найдет то, что ему нужно?
Продукт определен в
public class Product
{
public int ProductID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public decimal Price { get; set; }
public string Category { get; set; }
}
Я, как правило, смущен целями лямбд в подобных вещах. Есть ли какой-нибудь эквивилант к p=>p.Product.ProductID == product.ProductID
Я мог видеть, что я не использую Lambdas, чтобы я мог понять больше, что это сокращение для ??
Я не могу обернуть голову вокруг этого, и спасибо заранее.