我正在按照一本书的内容实现一个项目,但是我对于为什么需要使用这些lambda函数感到有些困惑。
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
只需要一个lambda表达式有关吗?我不确定为什么我不能使用this.Product.ProductID
,我意识到Product是一个列表,p=> P.Product
是否在做一些迭代并比较值直到找到它所需的内容?
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; }
}
我通常对这种情况下Lambda的目的感到困惑。是否有相当于
p=>p.Product.ProductID == product.ProductID
的东西?我可以不使用Lambda来更好地理解它的缩写吗?我似乎无法理解这个问题,提前感谢您的帮助。