搜索对象列表

时间:2013-04-04 03:36:30

标签: c# asp.net

我得到一个用户所属的安全组列表作为对象数组。我使用DirectoryEntry获取活动目录属性,其中一个属性是“memberOf”(de.properties [“memberOf”]。value)。返回值是“对象数组”。这个对象数组的每个元素看起来都像:

"CN=SITE_MAINTENANCE,OU=CMS,OU=SD,OU=ESM,OU=Engineering Systems,DC=usa,DC=abc,DC=domain,DC=com"

我可以循环遍历元素,将每个元素转换为“字符串”并以此方式搜索。我只是觉得可能有一种不需要循环的简单方法。 我需要能够在其中找到OU = CMS的那个。

感谢。

4 个答案:

答案 0 :(得分:2)

循环遍历数组,然后使用indexOf或Regexp搜索字符串“OU = CMS”。如果它存在于字符串中,那么你“找到了包含OU = CMS的那个。”

您可以执行任何操作,例如将项目放入新列表或任何您想要的内容。

答案 1 :(得分:0)

list.Where(a=>a.ToString().Contains("OU=CMS")).ToList();

答案 2 :(得分:0)

您可以使用以下内容

string listString="CN=SITE_MAINTENANCE,OU=CMS,OU=SD,OU=ESM,"+
                     "OU=Engineering Systems,DC=usa,DC=abc,DC=domain,DC=com"

使用linq:

listString.Split(',').Contains("OU=CMS")

W / o linq:

Array.IndexOf(listString.Split(','), "OU=CMS") >= 0

答案 3 :(得分:0)

您可以通过foreach循环搜索所需的值