2015-04-30 4 views
0

В настоящее время я читаю и разбиваю данные файла на 2 массива (имя и возраст). Я создал их как массивы неизвестного размера. Это связано с тем, что я могу добавить строки в свой файл данных, но если я тушу их таким образом (например, имя()), возникает ошибка. Однако я не уверен, как использовать ReDim в этой ситуации.Использование ReDim для неизвестного размера массива

Dim o As Integer 
Dim name() as string 
Dim age() as integer 

r = New System.IO.StreamReader("C:\Users\files\names.txt") 
While r.Peek() <> -1 
    v = r.ReadLine() 
    temperary = v.Split(".") 
    name(o) = temp(0) 
    age(o) = temp(1) 
    o = o + 1 
End While 
r.Close() 
Catch ex As Exception 
    Me.Close() 
End Try 
+0

Также включите опцию. Ваша переменная temp, похоже, не существует (но темпераментный). –

+0

домашнее задание? получили решение и хотели удалить доказательства? – basher

ответ

1

Вам не нужно ReDim, использовать List(Of String) и если вы, наконец, нужен массив, используйте ToArray:

Dim names As New List(Of String) 
Dim ages As New List(Of String) 
r = New System.IO.StreamReader("C:\Users\files\names.txt") 

While r.Peek() <> -1 
    v = r.ReadLine() 
    temp = v.Split(".") 
    names.Add(temp(0)) 
    ages.Add(temp(1)) 
    o = o + 1 
End While 
' if you need arrays use names.ToArray() and/or ages.ToArray() 

Но я хотел бы использовать вместо List(Of User) где User это класс, который у вас есть для создания которого имеется не менее двух свойств Name и Age.

+0

Привет, вы имеете в виду имена. ToArray (temp (0))? –

+0

Нет, names.ToArray, который является методом расширения в пространстве имен System.Linq. –

Смежные вопросы