2013-08-12 4 views
0

Я пытаюсь прочитать две матрицы из двоичного файла (256x256x2), но не смог сделать это без повторения 256x256x2 раз, что занимает слишком много времени. Пока я просто хочу проверить данные и убедиться, что это corect (не только нули). Это то, что у меня есть:Прочитайте матрицу из двоичного файла

Dim msg As String 
Dim b(256 * 256 * 2) As Byte 
Dim i As Int32 
Dim reader As New BinaryReader(File.Open(path, FileMode.Open)) 
b = reader.ReadBytes(b.Length) 
For i = 0 To b.Length 
    msg = msg & ", " & b(i) 
Next 
TextBox1.Text = msg 

Данные на матрице - это всего лишь цифры (0-255).

Какой самый лучший способ сохранить данные в массив, если это возможно с форматом

array[matrixno][row][column] 

, потому что позже мне нужно будет найти конкретные значения массива в соответствии с его положением.

PS. Я использую старую Visual Studio 2003, потому что это то, что у меня есть.

Благодаря

Edit:

Разобрался, что совершалось долго был на самом деле, отображающие все байты, проблема решена!

+3

Visual Studio 2010 и 2012 имеют бесплатную версию (поиск Visual Studio Express). Вы лишаете себя множества передовых и новых функций, используя 2003 (который является .NET 1.1). LINQ будет чем-то потенциально ** очень полезным для того, что вы пытаетесь сделать, и вам понадобится хотя бы VS 2008, чтобы использовать его. – Tim

+1

Да, консольный ввод-вывод выполняется очень медленно, вы должны использовать его только для целей отладки. –

+1

1. Вы можете ввести свое решение в качестве ответа и принять его позже. 2. Рассмотрите возможность получения VB Express 10, это бесплатно и, вероятно, включает все, что вам нужно. – TheBlastOne

ответ

0

Почти два года спустя пришло время снять это с оставшегося без ответа списка.

Петля работала нормально, проблема заключалась в том, чтобы печатать каждое прочитанное значение, а не просто сохранять его в переменной.

Урок, полученный (давно): Печать занимает время.