1. 程式人生 > >linq Distinct 自定義去重字段

linq Distinct 自定義去重字段

lis als int 接口 ria 必須 clas eth result

一、定義

1、Falcon_PumpX_Equal_Comparer :類名,隨便取名

2、IEqualityComparer:必須繼承這個接口

3、Falcon_PumpX:需要去重的對象

4、IEqualityComparer、GetHashCode 是接口必須實現的方法

private class Falcon_PumpX_Equal_Comparer : IEqualityComparer<Falcon_PumpX>
{
bool IEqualityComparer<Falcon_PumpX>.Equals(Falcon_PumpX x, Falcon_PumpX y)
{
return x.Part_No.Trim() == y.Part_No.Trim() && x.Serial_No.Trim() == y.Serial_No.Trim();
}

public int GetHashCode(Falcon_PumpX obj)
{
return obj.Serial_No.Length;
}
}

二、使用方法

Falcon_PumpX_Equal_Comparer com = new Falcon_PumpX_Equal_Comparer();

var list = ((Param_QM_Lab_CheckResult_Imp)Param).Falcon_Pump_List.Distinct(com);

linq Distinct 自定義去重字段