Я использую BinaryReader (MemoryStream(MyByteArray)
), чтобы читать записи переменного размера и обрабатывать их все в памяти.Это хорошо работает до тех пор, пока размер моего байта, который находится в массиве, составляет менее 1,7 ГБ.После этого (который является максимальным размером целого числа в моей 64-битной системе) вы не можете создать больший байтовый массив, хотя у меня достаточно реальной памяти.Поэтому мое решение состояло в том, чтобы прочитать байтовый поток и разбить его на несколько байтовых массивов.
Теперь, однако, я не могу «читать» через границы байтового массива, и, поскольку мои данные находятся в переменном формате, я не могуубедитесь, что байтовые массивы всегда завершаются для всей записи.
Это должно быть распространенной проблемой для людей, обрабатывающих очень большие наборы данных, и при этом все еще требующих скорости.
Как мне решить эту проблему?