This question already has answers here:
MemoryStream: why convert to byte after readByte

(3个答案)


5年前关闭。




我花了一些时间研究System.IO命名空间,之后我发现了一些有趣的地方。 Stream类包含名称为ReadByte且定义如下的方法:
public virtual int ReadByte()

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

最佳答案

ReadByte返回



这种方法(具有不与任何可能的byte值冲突的特殊值)导致使用“扩展” byte的整数类型。

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

10-08 01:46