.Contains() on a list of custom class objects

前端 未结 7 2199
天命终不由人
天命终不由人 2020-11-27 02:38

I\'m trying to use the .Contains() function on a list of custom objects

This is the list:

List CartProducts = new Lis         


        
7条回答
  •  野性不改
    2020-11-27 03:14

    Implement override Equals() and GetHashCode()

    public class CartProduct
    {
        public Int32 ID;
        ...
    
        public CartProduct(Int32 ID, ...)
        {
            this.ID = ID;
            ...
        }
    
        public override int GetHashCode()
        {
            return ID;
        }
    
        public override bool Equals(Object obj)
            {
                if (obj == null || !(obj is CartProduct))
                    return false;
                else
                    return GetHashCode() == ((CartProduct)obj).GetHashCode();
            }
    
    }
    

    used:

    if (CartProducts.Contains(p))
    

提交回复
热议问题