2011-10-12 59 views
0

我有ListAllUsers。具有propeorty id(如Guid),名称(如字符串),地址(如字符串)的用户。我有从UI中选择的另一个用户id列表id。我想获得List selectedUsers,来自AllUsers的ID。我试图通过LINQ来获取它。我可以通过单个语句做到这一点,没有多次调整?怎么样?从列表中选择项目<object> by conitaining列表中的<guid> C#

回答

6

如果我正确理解你的问题,你可以这样做:

var selectedUsers = allUsers.Where(user => selectedUserIds.Contains(user.Id)); 
0

另一种可能的方法是:

var selectedUsers = selectedUserIds.Select(id => allUsers.First(user => user.id == id)) 

这将抛出一个异常,如果selectedUserIds的一个不映射给用户,这可能是你想要的。 Frédéric的方法会默默吞下。

+0

无法得到,你能解释一下吗?这里的“地图”是什么? –

+0

我的意思是,如果你给了一个id,并且没有用户使用该id,它将抛出一个异常。 – Joey