这是我用来测试的代码,T_ZJ_PostTouch还有其他字段
List<T_ZJ_PostTouch> list = new List<T_ZJ_PostTouch> {
new T_ZJ_PostTouch{OrgCode="1"},
new T_ZJ_PostTouch{OrgCode="1"},
new T_ZJ_PostTouch{OrgCode="2"},
new T_ZJ_PostTouch{OrgCode="2"},
};
int count = list.Distinct().Count();//结果是4
int count1 = list.Distinct(new OrgCodeComparer()).Count();//结果是2
public class OrgCodeComparer : IEqualityComparer<T_ZJ_PostTouch>
{
public bool Equals(T_ZJ_PostTouch x, T_ZJ_PostTouch y)
{
if (x == null)
return y == null;
return x.OrgCode == y.OrgCode;
}
public int GetHashCode(T_ZJ_PostTouch obj)
{
if (obj == null)
return 0;
return obj.OrgCode.GetHashCode();
}
}
翻阅古今