gpt4 book ai didi

c# - 如何确保用户只被添加到列表一次

转载 作者:行者123 更新时间:2023-11-30 13:10:02 27 4
gpt4 key购买 nike

我必须通过自定义搜索列出用户列表,我将所有组中的所有用户添加到 Sharepoint Web 上的权限列表中。我的问题是用户可以在多个组中,因此他们被多次添加到返回的列表中。我如何确保它们只被添加一次?

C#

// keywords is the whatever value a user types into the search textbox
private static IEnumerable<SPUser> GetUsers(SPWeb web, string keywords)
{
var oList = new List<SPUser>();
var oListUsers = web.Groups.Cast<SPGroup>().SelectMany(grp => grp.Users.Cast<SPUser>().Where(user => user.Name.Contains(keywords))).ToList();

foreach (SPUser user in oListUsers)
{
// My attempt here is to check if the list already contains the current item
// but it seems to ignore it. I've tried counting too, but same outcome.
if (!oList.Contains(user))
oList.Add(user);
}

return oList;
}

最佳答案

试试这个(而不是包含)

 if (! oList.Any(u => u.Name == user.Name ))
{
oList.Add(user);
}

关于c# - 如何确保用户只被添加到列表一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5792366/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com