以下代码填充不属于现有列表“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 中。对不起,没有澄清!