流。Take(16) <-- 制作 16 字节的数组?



我觉得问很傻,但是...

使用 C#/.NET,我有一个流,我编写了自己的扩展函数来读取 short(或内置字节)。

我可以使用什么东西来创建 X 长度的数组(在我的示例中为 16)并返回该数组的字节数组?否则抛出异常?ReadByte做到了这一点,并且是内置的。在.NET框架中应该有类似我所要求的东西

我可以使用什么东西来创建 X 长度的数组(在我的示例中为 16)并返回该数组的字节数组?

对于字节数据,您可以调用 Stream.Read:

byte[] values = new byte[16];
int read = theStream.Read(values, 0, 16);
// Make sure you read all 16...

或者,您可以使用 BinaryReader.ReadBytes:

byte[] values = theStream.ReadBytes(16);

如果你想处理短数据,我会为BinaryReader创建一个扩展方法:

public static short[] ReadInt16Array(this BinaryReader reader, int elementsToRead)
{
     short[] results = new short[elementsToRead];
     for (int i=0;i<elementsToRead;++i)
        results[i] = reader.ReadInt16();
     return results;
}

相关内容

  • 没有找到相关文章

最新更新