我得到一个用户所属的安全组列表作为对象数组。我使用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的那个。
感谢。
答案 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循环搜索所需的值