De msdn:FileStream.ReadByte: ¿Byte nunca son números negativos?
FileSystem.ReadByte
El byte, fundido a una Int32, o -1 si se ha alcanzado el final de la secuencia.
So -1 es básicamente un "valor mágico". ¿Esto significa que los bytes devueltos de las transmisiones nunca son negativos? ¿Si no, porque no?
Para cada operación de lectura, solo se devuelve un solo byte y ese valor de byte único devuelto como int32. Si se llegó al final del archivo, entonces retornó como -1 (un valor int32) – Predator