码迷,mamicode.com
首页 > Windows程序 > 详细

C# IEqualityComparer类型参数写法

时间:2017-07-28 19:24:11      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:lis   mat   使用   参数   mod   product   bool   get   写法   

最近在使用Union、Except时,由于默认的对比不太好使,所以需要自定义对比器,下面附上代码。

class MaterialListComparer : IEqualityComparer<WonderManager.Basal.Material.Domain.Material>
    {
        public bool Equals(WonderManager.Basal.Material.Domain.Material x, WonderManager.Basal.Material.Domain.Material y)
        {
            if (Object.ReferenceEquals(x, y)) return true;
            if (Object.ReferenceEquals(x, null) || Object.ReferenceEquals(y, null))
                return false;
            return x.MaterialCode == y.MaterialCode;
        }

        public int GetHashCode(WonderManager.Basal.Material.Domain.Material model)
        {
            if (Object.ReferenceEquals(model, null)) return 0;

            int hashProductName = model.MaterialCode == null ? 0 : model.MaterialCode.GetHashCode();

            return hashProductName;
        }
    }

  

C# IEqualityComparer类型参数写法

标签:lis   mat   使用   参数   mod   product   bool   get   写法   

原文地址:http://www.cnblogs.com/gaozejie/p/7251756.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!