Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Создание 2-мерного массива из строки текста,


Автор: Eatmeat 7.3.2006, 20:19
В VBScript из строки можно было создать 2-мерный массив след. образом:
Dim aArray(0)
ReadLine = "q,x,f"
aArray(0) = Split(ReadLine, ",")

В VB.NET:
Код

Dim aArray(0) As String
Dim ReadLine As String = "q,x,f"
aArray(0) = Split(ReadLine, ",")

выдаёт ошибку "Value of type '1-dimensional array of String' cannot be converted to 'String'". Подскажите, как её обойти.
Спасибо.

Автор: Exception 7.3.2006, 22:19
Привет smile ! В VB .NET все массивы динамические. То есть нужно писать так:
Код
Dim ReadLine As String  =  "q,x,f"
Dim aArray() As String = New String(0)
aArray(0)  = Split(ReadLine, ",")

Добавлено @ 22:30
P.S. Это одномерный, а не двухмерный массив.
Добавлено @ 22:30
P.S. Это одномерный, а не двухмерный массив.
Добавлено @ 22:30
P.S. Это одномерный, а не двухмерный массив.
Добавлено @ 22:30
P.S. Это одномерный, а не двухмерный массив.

Автор: Eatmeat 8.3.2006, 15:53
Чуть не то, но спасибо! Нашёл всё-таки, что мне надо:

Код

Dim aArray() As Array = New Array() {}
Dim ReadLine As String  =  "q,x,f"
ReDim Preserve MainArray(0)
aArray(0) = Split(ReadLine, ",")

Автор: Exception 8.3.2006, 16:19
Мой код лучше, поскольку у меня работает сильная типизация, а у тебя нет. Чем тебе он не понравился? Кстати, можно записать ещё проще:
Код
Dim ReadLine As String = "q,x,f"
Dim aArray As New String() = {ReadLine.Split(",")}

Автор: Eatmeat 8.3.2006, 17:10
Мне просто нужен был 2-мерный массив, чтобы из файла забить в него строки типа:

20060301,0800,1.7534,1.7547,1.7530,1.7535,12228
20060301,0900,1.7536,1.7545,1.7513,1.7535,14850
...

а потом можно было обращаться к значениям таким образом:

aArray(0)(3) то есть "1.7547"
aArray(1)(8) т.е. "14850"
и т.д.




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)