звонки, возвращающие все, что просили.

сем новичок в C #, поэтому, пожалуйста, потерпите меня. Я читаю (используя FileStream) данные (фиксированный размер) в небольшой массив, обрабатываю данные, а затем снова читаю и так далее до конца файла.

Я думал об использовании что-то вроде этого:

            byte[] data = new byte[30];
            int numBytesToRead = (int)fStream.Length;
            int offset = 0;

            //reading
            while (numBytesToRead > 0)
            {
                fStream.Read(data, offset, 30);
                offset += 30;
                numBytesToRead -= 30;

                //do something with the data
            }

Но я проверил документацию и их примеры, и они заявили, что возвращаемое значение приведенного выше метода чтения:

"Тип: System.Int32 Общее число байтов, считанных в буфер. Это может быть меньше, чем количество запрошенных байтов, если это количество байтовв настоящее время не доступныили ноль, если достигнут конец потока. "

Что это означает, что они в настоящее время недоступны, может ли это действительно произойти при чтении небольших объемов данных или это только для больших объемов? Если только для большого, то насколько приблизительно, потому что я буду читать также большими кусками в некоторых других местах. Если это может произойти в любое время, как я должен изменить свой код, чтобы код по-прежнему работал эффективно?

Спасибо за ваше время и ответы.

Ответы на вопрос(4)

Ваш ответ на вопрос