来自msdn:
FileSystem.ReadByte
转换为Int32的字节,如果已到达流的末尾,则为-1。
所以-1基本上是一个“神奇的价值”。这是否意味着从流返回的字节永远不会是负数?如果没有,为什么不呢?
答案 0 :(得分:10)
在C#中,byte
的值是0到255之间的数字,因此一个字节永远不会为负。
sbyte
数据类型是带符号的字节,因此它的值介于-128和127之间。
(在某些其他语言中,例如Java,byte
数据类型已签名。)
答案 1 :(得分:4)
因为字节不是负数,所以它们的数字值为0-255。
答案 2 :(得分:4)
byte
不能是否定的,对吗?它是0 ... 255。
答案 3 :(得分:2)
FileStream.ReadByte()返回一个转换为Int32值的字节,只有在到达流末尾时才返回-1。