【发布时间】:2013-02-14 08:49:44
【问题描述】:
我想从 Active Directory 中获取 Departmentlist,为此我使用 Directoryentry 和 DirectorySearcher 类。我得到了部门列表,但是如何删除这个列表中的双值。
例如我现在的清单:
it
it
it
vg
per
vg
...
我只想要列表中的其中一个值:
it
vg
per
...(other departments)
我想将此列表用作下拉列表。
我的代码:
public static void GetAllDepartments(string domaincontroller)
{
ArrayList list = new ArrayList();
int Counter = 0;
string filter = "(&(objectClass=user)(objectCategory=user)(!userAccountControl:1.2.840.113556.1.4.803:=2)(sn=*)(|(telephoneNumber=*)(mail=*))(cn=*)(l=*))";
List<User> result = new List<User>();
DirectoryEntry Entry = new DirectoryEntry(domaincontroller);
DirectorySearcher Searcher = new DirectorySearcher(Entry, filter);
foreach (SearchResult usr in Searcher.FindAll())
{
result.Add(new User()
{
department = GetLdapProperty(usr, "Department")
});
Counter++;
}
for (int i = 0; i < Counter; i++)
{
list.Add(result[i].department);
}
}
如何在 Arraylist 中只显示一个值?
【问题讨论】:
-
或者您可以使用 LINQ to Distinct() 值
-
你为什么使用
ArrayList...?
标签: c# asp.net arraylist active-directory directorysearcher