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?