以下代码填充不属于现有列表“selectedUsers”的用户列表。
foreach (var childOrg in viewModel.ChildOrganizations)
{
    List<OrganizationUserViewModel> childOrgUsers = new List<OrganizationUserViewModel>();
    var users = this._organizationManager.GetOrganizationUsers(childOrg.OrganizationId);
    foreach (var user in users)
    {
        var userViewModel = Gateway.Instance.Map<User, OrganizationUserViewModel>(user.User);
        userViewModel.Organization_UserId = user.Organization_UserId;
        if (selectedUsers != null)
        {
            foreach (OrganizationUserViewModel selectedUser in selectedUsers)
            {
                if (selectedUser.UserId != userViewModel.UserId)
                {
                    childOrgUsers.Add(userViewModel);
                }
            }
        }
    }
    childOrg.Users = childOrgUsers;
}
如果 'selectedUsers' 中只有一个用户,这可以正常工作,但如果有多个条目,则由于 foreach 循环,会在新列表中添加多个。我将如何避免这种情况?
提前感谢您的帮助。
编辑:我刚刚通读了我的问题,我可能应该澄清一下,因为我真的没有说清楚。当 foreach 为列表中的每个条目运行时,它还会在 ID 与 userViewModel 中的当前条目不匹配时为所选用户添加条目。这些是我真正需要重点删除的内容,因为我希望存储在 selectedUsers 中的任何内容都不会出现在 userViewModel 中。对不起,没有澄清!