C# id在数组中时的linq where子句

C# id在数组中时的linq where子句,c#,linq,C#,Linq,我有一个方法,如果UserId在一个数组中,它应该返回用户列表。用户标识数组被传递给方法 我不知道如何写..数组中的userid在哪里 在ids[]中,下面的显然不正确 public List<User> GetUsers(int[] ids) { return Users.Values.Where(u => u.UserID in ids[]).ToList(); } public List GetUsers(int[]id) { 返回Users.Values.Whe

我有一个方法,如果
UserId
在一个数组中,它应该返回用户列表。用户标识数组被传递给方法

我不知道如何写..数组中的userid在哪里

在ids[]中,下面的
显然不正确

public List<User> GetUsers(int[] ids)
{
   return Users.Values.Where(u => u.UserID in ids[]).ToList();
}
public List GetUsers(int[]id)
{
返回Users.Values.Where(id[]中的u=>u.UserID).ToList();
}
有没有办法纠正这个问题


谢谢,

你可以试试这样的东西:

public List<User> GetUsers(int[] ids)
{
    return Users.Values.Where(u => ids.Contains(u.UserID)).ToList();
}
public List GetUsers(int[]id)
{
返回Users.Values.Where(u=>ids.Contains(u.UserID)).ToList();
}

除了昆廷的回答,还可以使用以下方法:

public List<User> GetUsers(int[] ids)
{
    return Users.Values.Where(u => ids.Any(x => x == u.UserID)).ToList();
}
public List GetUsers(int[]id)
{
返回Users.Values.Where(u=>ids.Any(x=>x==u.UserID)).ToList();
}

键入回复,看到有人已经发布了相同的内容,并且有几个人已经投票,这让人很烦恼。。所以我删除了it@BugFinder这是一个老问题,它有自己的名字()。谢谢:)我只是不喜欢看到两个答案相同,它毫无意义。。即使两者都是正确的。可能重复的