linq Distinct 自定义去重字段
Posted hyf69
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linq Distinct 自定义去重字段相关的知识,希望对你有一定的参考价值。
一、定义
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 自定义去重字段的主要内容,如果未能解决你的问题,请参考以下文章
如果跟随 Skip(..) LINQ 部分,则 XML 字段上的自定义 SQLFunctionTemplate 会导致转义错误