C# 通过lambda搜索集合中的对象,即使该对象存在,也不会返回true

C# 通过lambda搜索集合中的对象,即使该对象存在,也不会返回true,c#,asp.net-mvc,lambda,C#,Asp.net Mvc,Lambda,如果lineCollection中不存在产品,但在24:25时显示重复订单,则4:25会在lineCollection中添加新对象?我是否误解了它的工作原理 因为重复值中的产品不是相同的对象。它们可能具有相同的名称、数量等,但使用相同的值初始化类并不意味着它与之前初始化的对象是相同的对象。它们就像两个不同的苹果,颜色和大小都一样 如果说只要名称相同,两个产品就相同,那么在Product类中实现IEquatable public bool Equals(Product other) { r

如果lineCollection中不存在产品,但在24:25时显示重复订单,则4:25会在lineCollection中添加新对象?我是否误解了它的工作原理


因为重复值中的产品不是相同的对象。它们可能具有相同的名称、数量等,但使用相同的值初始化类并不意味着它与之前初始化的对象是相同的对象。它们就像两个不同的苹果,颜色和大小都一样

如果说只要名称相同,两个产品就相同,那么在
Product
类中实现
IEquatable

public bool Equals(Product other)
{
    return Name == other.Name;
}

谢谢你的澄清!如果你不向我解释,我可能永远也不会知道这个微妙的细节。@Jarbinksmith不客气