问题描述
|
来自msdn:
FileSystem.ReadByte
字节,强制转换为Int32;如果已到达流的末尾,则为-1。
因此,-1基本上是一个“魔术值”。这是否意味着从流返回的字节永远不会为负?如果没有,为什么不呢?
解决方法
在C#中,“ 0”的值是0到255之间的数字,因此字节永远不会为负。
sbyte
数据类型是带符号的字节,因此其值在-128到127之间。
(在某些其他语言中,例如Java,对“ 0”数据类型进行了签名。)
, 因为字节不是负数,所以它们是0-255之间的数字。
, byte
不能为负,对吗?它是0 ... 255。
, FileStream.ReadByte()返回转换为Int32值的字节,仅在到达流的末尾时才返回-1。