我觉得很傻,但是......
使用C#/ .NET我有一个流,我编写了自己的扩展函数来读取short(或内置字节)。
我可以使用哪些内容创建一个X长度数组(在我的示例中为16)并返回一个字节数组?否则会抛出异常? ReadByte做到了并且内置了。应该有类似于我在.NET框架中已经提出的要求
答案 0 :(得分: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;
}