当id在数组中时,linq where子句

the*_*ner 6 c# linq

我有一个方法,如果UserId在数组中,应该返回用户列表.UserIds数组传递给方法.

我不知道如何在数组中编写... where userid?

下面in ids[]显然不正确.

public List<User> GetUsers(int[] ids)
{
   return Users.Values.Where(u => u.UserID in ids[]).ToList();
}
Run Code Online (Sandbox Code Playgroud)

任何想法如何纠正?

谢谢,

Que*_*ger 20

你可以试试这样的东西:

public List<User> GetUsers(int[] ids)
{
    return Users.Values.Where(u => ids.Contains(u.UserID)).ToList();
}
Run Code Online (Sandbox Code Playgroud)


Him*_*ere 5

或者昆汀回答,使用这个:

public List<User> GetUsers(int[] ids)
{
    return Users.Values.Where(u => ids.Any(x => x == u.UserID)).ToList();
}
Run Code Online (Sandbox Code Playgroud)