读书人

Linq 不熟悉一个linq有关问题

发布时间: 2014-01-09 23:07:34 作者: rapoo

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;


读书人网 >C#

热点推荐