В этом примере из MS вы заметите, что после того, как мы прочитали байт из потока памяти, он переходит в int который затем должен быть преобразован в байт. Мне кажется странным, что функция вроде .ReadByte ()
вообще не возвращает байт. Есть ли причина, по которой М.С. так поступил?
// Read the remaining bytes, byte by byte.
while(count < memStream.Length)
{
byteArray[count++] =
Convert.ToByte(memStream.ReadByte());
}
- подумалось мне. Возможно, дело в использовании. Возможно, ReadByte ()
часто используется для извлечения коротких длин, которые потребляются при извлечении через множество длин
int length=ms.ReadByte();
ms.Read(buf,0,lenth);
, т.е. можно использовать длину без гипса. Это достаточно веская причина?