我有一本用户词典
Dictionary<String, User> usersBase
每个用户都有一个评分列表
List<UserRating> ratings
。每个评级包含一个电影 ID 和评级的字符串。
class UserRating
{
private String movieId;
private int rating;
}
我正在尝试获取对特定 ID 进行评分的用户列表
List<User> commun = new List<User>();
commun = usersBase.Values.Where(x => x.Ratings.Where(y => y.MovieId == movieId)).ToList();
我有以下错误
无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“bool”
有人可以向我解释如何执行此操作以及为什么会出现此错误吗?
.Where
需要一个返回 bool 的 lambda。您的嵌套 where 子句将返回 IEnumerable。
试试这个:
commun = usersBase.Values.Where(x => x.Ratings.Any(y => y.MovieId == movieId)).ToList();