gpt4 book ai didi

c# - 如何按名字和姓氏排序,然后按 SamAccountName 排序,其中并非所有名称都有名字和姓氏?

转载 作者:行者123 更新时间:2023-11-30 14:32:40 26 4
gpt4 key购买 nike

目前,我有以下内容,来自 LDAP。

// Get context, based on currently logged on user
PrincipalContext domainContext = new PrincipalContext(ContextType.Domain, Environment.UserDomainName);
// Search for the "Domain Users" group, with domain context
GroupPrincipal group = GroupPrincipal.FindByIdentity(domainContext, IdentityType.SamAccountName, "Domain Users");
if(group != null) {
List<Principal> members = null;
members = group.GetMembers(false)
.OrderBy(principal => principal.Name).ToList();
List<Principal> Principals = members
.OrderBy(a => a.Name.Split(',')[0])
.ThenBy(a => a.Name.Split(',')[1])
.ThenBy(a => a.SamAccountName).ToList();
}

我遇到的问题是,如果我有 Doe,John,它工作正常,但如果我有 Admin01,它会崩溃,因为找不到第二部分。我该如何更改它,以便即使只有一个词也能正常工作?

最佳答案

首先,我会将其转换到复合类型,这样您就不会一遍又一遍地拆分。然后我会用一个? : 运算符(operator)。然后投影回来得到原始类型。

members
.Select( m => new { member = m, split = m.Name.Split(',') } )
.OrderBy( a => a.split[0] )
.ThenBy( a => a.split.Count() > 1 ? a.split[1] : string.Empty )
.ThenBy( a => a.member.SamAccountNamr )
.Select( a => a.member );

关于c# - 如何按名字和姓氏排序,然后按 SamAccountName 排序,其中并非所有名称都有名字和姓氏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18090329/

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