FileStream.ReadByte:字节永远不是负数吗?

问题描述

| 来自msdn:   FileSystem.ReadByte   字节,强制转换为Int32;如果已到达流的末尾,则为-1。 因此,-1基本上是一个“魔术值”。这是否意味着从流返回的字节永远不会为负?如果没有,为什么不呢?     

解决方法

        在C#中,“ 0”的值是0到255之间的数字,因此字节永远不会为负。
sbyte
数据类型是带符号的字节,因此其值在-128到127之间。 (在某些其他语言中,例如Java,对“ 0”数据类型进行了签名。)     ,        因为字节不是负数,所以它们是0-255之间的数字。     ,        
byte
不能为负,对吗?它是0 ... 255。     ,        FileStream.ReadByte()返回转换为Int32值的字节,仅在到达流的末尾时才返回-1。