可以缩短这种插入物

时间:2017-08-04 19:25:31

标签: c# .net linq

这个插页可以缩短吗?似乎可以跳过foreach。

if (users == null)
{
    users = new List<User>();
    foreach (UserIDGroupID userIDGroupID in UserIDsGroupIDs.Where(x => x.GroupID == ID))
    {
        Users.AddRange(LibraryUsers.Where(x => x.ID == userIDGroupID.UserID));
    }
}

1 个答案:

答案 0 :(得分:3)

您可以尝试将Contains用于之前选择的ID。样本:

if (users == null)
{
    var ids = UserIDsGroupIDs.Select(x => x.UserID);

    users = LibraryUsers.Where(x => ids.Contains(x.Id)).ToList();
}