首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

linq罗选重复记录

2013-07-20 
linq筛选重复记录返回A表记录,如下:aidname2peter2peter3donnielist是返回以上的结果。现在想通过linq,来筛

linq筛选重复记录
返回A表记录,如下:


aid    name    
2     peter
2     peter
3     donnie

list是返回以上的结果。

现在想通过linq,来筛选掉重复记录

得到最终结果为
2 peter
3 donnie

并以list返回……

请教!
[解决办法]
linq去重问题
http://www.cnblogs.com/8765h/archive/2012/03/01/2376345.html
[解决办法]
var query=list.Distinct();
如果要按照什么比较,写个比较器
参考http://blog.csdn.net/chinajiyong/article/details/8161944
http://www.cnblogs.com/aaa6818162/archive/2011/09/15/2177118.html
[解决办法]
自定义比较器:


public class UserComparer : IEqualityComparer<UserModels>
    {
        public bool Equals(UserModels t1, UserModels t2)
        {
            return (t1.aid== t2.aid && t1.name== t2.name);
        }

        public int GetHashCode(UserModels obj)
        {
            return obj.ToString().GetHashCode();            
        }
    }
     //调用
     var list = list.Distinct(new UserComparer()).ToList()

[解决办法]
没那么麻烦
list.GroupBy(x => new { x.aid, x.name }).Select(x => x.First());

热点排行