【发布时间】:2012-08-23 12:16:19
【问题描述】:
当我使用它的孩子时,我不确定如何释放 DirectoryEntry 对象。 我需要释放所有孩子然后释放父母还是只释放父母?
例如,
using(DirectoryEntry entry = new DirectoryEntry())
{
foreach (DirectoryEntry childEntry in entry.Children)
{
....
}
}
够了吗?
或者需要额外的代码比如
using(DirectoryEntry entry = new DirectoryEntry())
{
foreach (DirectoryEntry childEntry in entry.Children)
{
using(childEntry)
{
...
}
}
}
?
【问题讨论】:
-
在迭代期间操作集合不是一个好主意。这将(并且应该)可能会引发异常。
-
@Patrik,他不是在操纵收藏本身,而是在操纵物品。处置不会从集合中删除。
-
foreach (DirectoryEntry childEntry in entry.Children)...
-
现在在 C# 中已弃用 foreach 吗? )
标签: c# .net active-directory dispose