找到名称为空的UserPrincipals

时间:2015-10-16 01:54:57

标签: c# directoryservices

我想返回所有没有名字的UserPrincipals。

使用此代码:

List<UserPrincipal> searchPrinciples = new List<UserPrincipal>();
searchPrinciples.Add(new UserPrincipal(ctx) { Name = null });

给我一​​个错误:

System.ArgumentNullException: Value cannot be null.
Parameter name: Principal.Name cannot be null or empty.

使用此搜索参数时出现相同的错误:

 searchPrinciples.Add(new UserPrincipal(ctx) { Name = ""});

1 个答案:

答案 0 :(得分:2)

根据规范,您无法将UserPrincipal.Name设置为null(Principal.Name)

  

&#39; Principal.Name&#39;是主体的名称,如果未设置name属性,则为null。

     

[...]抛出&#39; ArgumentNullException&#39;如果应用程序尝试将名称设置为null。

如果您希望它为空(或为空),请不要将其设置为全部。它默认初始化为null。

如果要搜索所有具有空名称的UserPrincipal实例,可以执行以下操作(LINQ):

IEnumerable<UserPrincipal> result = searchPrinciples.Where(p => String.IsNullOrEmpty(p.Name));