C# IEqualityComparer 使用方法 Linq Distinct使用方法

创建 IEqualityComparer的接口类必须实现Equals和GetHashCode方法

        public class TipComparer : IEqualityComparer<TipDetails>
        {
            public bool Equals(TipDetails x, TipDetails y)
            {
                if (Object.ReferenceEquals(x, y)) return true;

                if (Object.ReferenceEquals(x, null) || Object.ReferenceEquals(y, null))
                    return false;

                return x.tiptitle == y.tiptitle;
            }
            public int GetHashCode(TipDetails obj)
            {
                if (obj == null) return 0; return obj.tiptitle.GetHashCode();
            }
        }

 

Linq调用时,只需创建这个TipComparer对象即可

 result.tipdetails.Distinct(new TipComparer())

 

posted @ 2018-02-05 14:18  听雨的人  阅读(480)  评论(0)    收藏  举报