我花了一些时间研究System.IO
命名空间,之后我找到了一些有趣的地方.Stream
class包含名称为ReadByte的方法和类似的定义:
public virtual int ReadByte()
Run Code Online (Sandbox Code Playgroud)
所以实际上我的问题是为什么方法调用ReadByte
并返回int
?这样命名的目的是什么?
ReadByte
回报
无符号字节转换为a
Int32
,如果在流的末尾则为-1.
这种方法(具有不与任何可能byte
值碰撞的特殊值)导致使用"延伸"的整体类型byte
.
原则上,类似的类型也short
可以使用,但使用起来更加自然和常规int
.
归档时间: |
|
查看次数: |
2979 次 |
最近记录: |