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

Linq 不熟悉,一个linq有关问题

2014-01-09 
Linq 不熟悉,请教大家一个linq问题有数据集 Listphoto listPhotoPhoto类 定义如下:UserId--用户编号User

Linq 不熟悉,请教大家一个linq问题
有数据集 List<photo> listPhoto

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


现在 listPhoto 中有  5000多条数据,请问如何用Linq查出所有照片所有者唯一用户的编号和姓名。

[解决办法]


  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(); <--这个就是了你要的唯一


[解决办法]
List<photo> listPhoto;
var query = from p in listPhoto
            group p by p.UserId into g
            where g.Count() == 1
            select g;


热点排行