Linq 不熟悉,请教大家一个linq问题

love_study 2014-01-07 05:04:30
有数据集 List<photo> listPhoto

Photo类 定义如下:
UserId --用户编号
UserName --用户姓名
PhotoPath --图片路径
....


现在 listPhoto 中有 5000多条数据,请问如何用Linq查出所有照片所有者唯一用户的编号和姓名。
...全文
110 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 starfd 的回复:
List<photo> listPhoto;
var query = from p in listPhoto
            group p by p.UserId into g
            where g.Count() == 1
            select g;
这个可能我理解错了。。。。如果是要所有用户唯一的的话,1L的可以
  • 打赏
  • 举报
回复
List<photo> listPhoto;
var query = from p in listPhoto
            group p by p.UserId into g
            where g.Count() == 1
            select g;
本拉灯 2014-01-07
  • 打赏
  • 举报
回复

  private class PhotoComparer : IEqualityComparer<Photo>
        {
            public bool Equals(Photo x, Photo y)
            {
                return x.UserId == y.UserId && x.UserName  == y.UserName  ;
            }
            public int GetHashCode(Photo obj)
            {
                if (obj == null)
                {
                    return 0;
                }
                else
                {
                    return obj.ToString().GetHashCode();
                }
            }
        }

  list = list.Distinct(new PhotoComparer ()).ToList(); <--这个就是了你要的唯一

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧