#vb.net #visual-studio-2010
#vb.net #visual-studio-2010
Вопрос:
У меня есть следующее, которое выполняет поиск в домене и выводит список каждого пользователя. Я записываю их в текстовый файл. Проблема в том, что каждое найденное имя пользователя перезаписывает другое.
Мне нужно, чтобы они были перечислены одна под другой. Я не туда поместил инструкцию Using?
Еще раз спасибо, ребята.
Dim de As New DirectoryEntry()
'Name place to write file to
Dim strFile As String = "C:MyFile.txt"
Dim fileExists As Boolean = File.Exists(strFile)
'get list of all users on domain and write to file
de.Path = "WinNT://domain.blah.com"
For Each d As DirectoryEntry In de.Children()
Using sw As New StreamWriter(File.Open(strFile, FileMode.OpenOrCreate))
sw.WriteLine(d.Name)
End Using
Next
Комментарии:
1. Да, вы неуместно использовали инструкцию Using, поскольку файл должен быть открыт один раз для всех de. Дочерние элементы.
Ответ №1:
Вы открываете новую StreamWriter
для каждой строки в вашем списке. Попробуйте поменять местами создание streamwriter и цикл:
Using sw As New StreamWriter(File.Open(strFile, FileMode.OpenOrCreate))
For Each d As DirectoryEntry In de.Children()
sw.WriteLine(d.Name)
Next
End Using