为什么Stream.ReadByte返回int?

时间:2015-07-25 22:02:41

标签: c# .net stream

我花了一些时间研究System.IO名称空间,之后我找到了一些有趣的地方。 Stream类包含名称为ReadByte的方法和类似的定义:

public virtual int ReadByte()

所以实际上我的问题是为什么方法调用ReadByte并返回int? 这样命名的目的是什么?

1 个答案:

答案 0 :(得分:7)

ReadByte返回

  

无符号字节转换为Int32,如果在流的末尾则为-1。

这种方法(具有不与任何可能的byte值冲突的特殊值)导致使用整数类型,其延伸" byte

原则上,像short这样的类型也可以使用,但使用int更加自然和传统。