linq Except用法

linq Except用法,第1张

你没有错,微软的LINQ在排除应用类型时,是按照类的地址来排除的。你这里虽然代码意思对了。但是编译器的排除方法是按照类的地址排除,所以肯定不会排除掉。

解决方法:你需要自己写一个筛选的比较器。

代码如下:

public class ScoreFormIDComparer:IEqualityComparer<ScoreEntity>

{

#region IEqualityComparer<ScoreEntity>成员

public bool Equals(ScoreEntity x, ScoreEntity y)

{

if (x == null)

return y == null

return x.Form_ID == y.Form_ID

}

public int GetHashCode(ScoreEntity obj)

{

return obj.Form_ID.GetHashCode()

}

#endregion}

我贴出的比较器,是按照ID来排除重复的项。你只需要稍作修改,你懂得~~~

var fistNameList = lists.GroupBy(c=>c.FirstName).Select(c=>c.ToList()).ToList()

var ageList = lists.GroupBy(c=>c.Age).Select(c=>c.ToList()).ToList()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9936572.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存