MemoryStream: por qué convertir a byte después de readByte

Ineste ejemplo de MS, notará que después de leer un byte del flujo de memoria, entra en un int que luego debe convertirse en byte. Me parece extraño que una función como.ReadByte() no devuelve un byte en primer lugar. ¿Hay alguna razón por la cual MS lo hizo de esta manera?

// Read the remaining bytes, byte by byte.
while(count < memStream.Length)
{
    byteArray[count++] =
        Convert.ToByte(memStream.ReadByte());
}

e me ocurrió un pensamiento. Quizás esto se reduce al uso. QuizásReadByte() a menudo se usa para recuperar longitudes cortas, que subsecuentes se consumen en la recuperación a través de la variedad de longitud

int length=ms.ReadByte();
ms.Read(buf,0,lenth);

es decir. Puedes usar la longitud sin un yeso. ¿Es esta una razón suficientemente buena?

Respuestas a la pregunta(3)

Su respuesta a la pregunta