2017-01-29 1 views
0

По какой-то причине я никогда не был хорошим с петлями, но не могу жить без них. следующий код, который я использую, чтобы прочитать список деталей пользователя в формате XXXX: XXXX. (а не 4 символа, но вы знаете) Я могу загрузить первого пользователя и могу разбить строку и добавить из двоеточия обратно в listbox1, но просто не могу заставить цикл работать и не могу уйти, пока это не будет сделано. Обычно перерыв с работы решает войну, но не вариант сейчас.Какая лучшая петля для использования в большом списке?

Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk 
    Dim R As New IO.StreamReader(OpenFileDialog1.FileName) 
    Dim str As String() = R.ReadLine().Split(":") 
    Dim Info As String = str(1) 

    ListBox1.Items.Add(Info) 



    ListBox1.SelectedIndex = 0 
    TextBox5.Text = ListBox1.SelectedItem 
    R.Close() 

End Sub 

Я знаю его право передо мной. Я просто попробовал следующий цикл, который, как я думал, будет работать, и не сделал этого. Пожалуйста, помогите. Кто-то

+0

В то время как я вижу, вы получили ответ на свой вопрос, вы должны по крайней мере включать код цикла вы пытались в своем вопросе. –

ответ

0

Вам нужен этот цикл.

Using sr As New StreamReader(OpenFileDialog1.FileName) 
    While Not sr.EndOfStream 
    ListBox1.Items.Add(sr.ReadLine().Split(":")(1)) 
    End While 
End Using 
+0

Это сработало отлично :) Любите это место из-за таких людей. –

2

Нет необходимости в цикле:

Dim lines = IO.File.ReadAllLines(OpenFileDialog1.FileName) 
Dim items = Array.ConvertAll(lines, Function(line) line.Split(":"c)(1)) 
ListBox1.Items.AddRange(items)