【发布时间】:2011-07-29 04:57:26
【问题描述】:
在this example from MS 中,您会注意到,在我们从内存流中读取一个字节后,它会进入一个 int,然后必须将其转换为字节。让我感到奇怪的是,像 .ReadByte() 这样的函数一开始就没有返回一个字节。 MS这样做是有原因的吗?
// Read the remaining bytes, byte by byte.
while(count < memStream.Length)
{
byteArray[count++] =
Convert.ToByte(memStream.ReadByte());
}
我想到了。也许这归结为使用情况。也许ReadByte() 经常用于检索短长度,随后在通过长度变化检索时消耗这些长度
int length=ms.ReadByte();
ms.Read(buf,0,lenth);
即您可以使用没有演员表的长度。这是一个足够好的理由吗?
【问题讨论】:
-
如果你想要一个字节数组,你应该检查
ToArray()
标签: c# .net memorystream