关于自定义类的在List中的查找和比较

本文介绍如何为自定义类实现Equals方法及 GetHashCode方法,确保类实例能够在集合中正确地进行比较与查找。通过示例代码展示如何仅依据Code属性进行对象间的比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要复写自定义类的Equlas函数

以下只取code是否相等来判断,也可以取全部属性进行判断


public class OutCode
    {
        string code;
        string ct;


        public OutCode(string vcode,string vct)
        {
            this.code = vcode;
            this.ct = vct;
 
        }
        public string Code
        {
            get {
                return code;
            }
            set{
                code=value;
            }
        }
        public string Ct
        {
            get {
                return ct;
            }
            set {
                ct = value;
            }
        }


        /// <summary>
        /// 描    述:Code对象相等,自定义比较
        /// 作    者:Shawn
        /// 创建日期:2013-06-26
        /// </summary>
        public Boolean Equals(OutCode other)
        {
            if (this.code.Equals(other.code))
            {
                return true;
            }
            else
            {
                return false;
            }


        }
        //自定义类型调用remove和find等有比较行为时,需要复写Equals()和gethashcode()
        public override bool Equals(object obj)
        {
            return (obj is OutCode) && Equals((OutCode)obj);
        } 
        public override int GetHashCode()
        {
            return this.code.GetHashCode();
        }


       
    }
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值