查找名称为空的 UserPrincipals

Find UserPrincipals where name is empty

我想 return 所有没有名字的 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 = ""});

您不能将UserPrincipal.Name设置为null,根据规范:(Principal.Name)

'Principal.Name' is the name of the principal or null if the name attribute is not set.

[...] Throws 'ArgumentNullException' if the application tries to set the name to null.

如果您希望它为空(或空),请不要全部设置。默认情况下它会被初始化为 null。

如果您想搜索所有 UserPrincipal 个具有空名称的实例,您可以这样做 (LINQ):

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