是DirectoryAarcher.SizeLimit = 1,FindAll()等于FindOne()[DirectoryServices/.net]

dav*_*eps 2 .net directoryservices active-directory

在.net中使用DirectorySearcher时,这两个语句是否相同?

两者相同:

Dim ds As New DirectorySearcher
' code to setup the searcher
Run Code Online (Sandbox Code Playgroud)

第一个声明

ds.FindOne()
Run Code Online (Sandbox Code Playgroud)

第二个声明

ds.SizeLimit = 1
ds.FindAll()
Run Code Online (Sandbox Code Playgroud)

...除了显然FindOne()返回一个SearchResult对象,FindAll()返回一个SearchResultCollection对象

mar*_*c_s 5

是的,那几乎是一样的.

几乎,因为在.NET 2.0中(不确定它是否已在更新的版本中修复),.FindOne()调用存在泄漏内存的一些问题,因此最佳实践是(或者是)总是使用.FindAll()并迭代结果你的结果.