从存在于另一个列表中的列表中删除结果
本文关键字:列表 删除 结果 存在 另一个 | 更新日期: 2023-09-27 18:09:30
在我的应用程序中,您可以将用户链接到存储在列表'userList'中的组织:
List<OrganizationUserViewModel> userList = new List<OrganizationUserViewModel>();
foreach (var ou in org.Users.OrderBy(x => x.User.UserName).ToList())
{
var user = Gateway.Instance.Map<User, OrganizationUserViewModel>(ou.User);
user.Organization_UserId = ou.Organization_UserId;
userList.Add(user);
}
可以在菜单中选择这些用户,该菜单显示与其他能够链接的组织连接的所有用户。
这段代码填充了组织的列表,并附上了所有的用户:
foreach (var childOrg in viewModel.ChildOrganizations)
{
childOrg.Users = new List<OrganizationUserViewModel>();
var users = this._organizationManager.GetOrganizationUsers(childOrg.OrganizationId);
foreach (var user in users)
{
var u = Gateway.Instance.Map<User, OrganizationUserViewModel>(user.User);
u.Organization_UserId = user.Organization_UserId;
childOrg.Users.Add(u);
}
}
我的问题是,我需要显示这个可选择的列表没有任何已经选择的用户在'userList'。例如,如果一个名为"Apple"的用户已被链接,则该用户不应出现在可选列表中。
解决这个问题最有效的方法是什么?
假设两个列表具有相同的数据类型,Linq来拯救:
var allowedSelectionsList = selectableList.Except(selectedList).ToList();
?