我如何仅将PrincipalSearcher中的DisplayName和Name分配给List?

时间:2015-10-12 12:37:21

标签: c# list principalcontext principalsearcher

我有以下示例代码:

namespace DirectorySearcher
{
  class Program
  {
    static void Main(string[] args)
    {
        using (var context = new PrincipalContext(ContextType.Domain, "bobo.net"))
        {
            using (var searcher = new PrincipalSearcher(new UserPrincipal(context) { Enabled = true }))
            {
                List<Principal> results = new List<Principal>();
                results.AddRange(searcher.FindAll());
                //foreach (var result in searcher.FindAll())
                //{                        
                    //Console.WriteLine("displayName : " + result.DisplayName);
                    //Console.WriteLine("name : " + result.Name);
                    //Console.WriteLine();
                //}
            }
        }
        Console.WriteLine("Done");
        Console.ReadLine();
    }
  }
}

我如何仅将结果.DisaplayName和result.Name分配给结果列表?

是否可以将PrincipalSearcher配置为仅将这两个值拉回以

开头

就像你可以用PowerShell做的那样:

 Get-ADUser -Properties DisplayName,Name

由于

1 个答案:

答案 0 :(得分:0)

var list = searcher.FindAll().Select(s => new {name = s.Name, displayName = s.DisplayName});

上面创建了一个匿名对象列表,其中包含name和displayname。 您可以创建一个poco类来保存名称和显示名称

用于限制响应的属性 看看this question