звонки, возвращающие все, что просили.
сем новичок в 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 Общее число байтов, считанных в буфер. Это может быть меньше, чем количество запрошенных байтов, если это количество байтовв настоящее время не доступныили ноль, если достигнут конец потока. "
Что это означает, что они в настоящее время недоступны, может ли это действительно произойти при чтении небольших объемов данных или это только для больших объемов? Если только для большого, то насколько приблизительно, потому что я буду читать также большими кусками в некоторых других местах. Если это может произойти в любое время, как я должен изменить свой код, чтобы код по-прежнему работал эффективно?
Спасибо за ваше время и ответы.