0

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

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

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

4

1 回答 1

2

我可以使用什么东西来创建一个 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;
}
于 2012-08-10T20:29:25.360 回答