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

时间:2011-06-15 06:52:59

标签: c# .net filestream

来自msdn

  

FileSystem.ReadByte
  转换为Int32的字节,如果已到达流的末尾,则为-1。

所以-1基本上是一个“神奇的价值”。这是否意味着从流返回的字节永远不会是负数?如果没有,为什么不呢?

4 个答案:

答案 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。