Сначала я бы взял запись в файл из цикла For Each. Таким образом, вы пишете в файл только один раз.
Во-вторых, вы можете немного адаптировать ответ @BiggsTRC к
sb.AppendFormat("{0} {1}", item, Environment.NewLine)
Кроме того, вы используете переменную test
для записи в текстовый файл, а не в построитель строк, который вы использовали. Таким образом, форматирование никогда не попадет в файл.
Итак, чем ваш кусок кода выглядит примерно так:
Dim sb as new StringBuilder()
For Each item As Object In cmbworld.Items
'Dim test As String
'test = item
sb.AppendFormat("{0} {1}", item, Environment.NewLine)
Next
Dim FILE_NAME As String = "D:\Documents\test.txt"
If System.IO.File.Exists(FILE_NAME) = True Then
Dim objWriter As New System.IO.StreamWriter(FILE_NAME)
objWriter.Write(sb.ToString()) 'Use the stringbuilder here
objWriter.WriteLine()
objWriter.Close()
MsgBox("Text written to file")
Else
MsgBox("File Does Not Exist")
End If
В нем может быть какая-то незначительная синтаксическая ошибка, потому что я давно пишу VB, и на данный момент у меня нет VS, но я думаю, вы понимаете; -)