我必须处理项目中的原始字节,我基本上需要做这样的事情
byte[] ToBytes(){
byte[] buffer=new byte[somelength];
byte[] tmp;
tmp=BitConverter.GetBytes(SomeShort);
buffer[0]=tmp[0];
buffer[1]=tmp[1];
tmp=BitConverter.GetBytes(SomeOtherShort);
buffer[2]=tmp[0];
buffer[3]=tmp[1];
}
我觉得这是错误的,但我找不到更好的方法。有更容易的方法吗?
最佳答案
BinaryWriter 非常高效:
byte[] ToBytes() {
var ms = new MemoryStream(somelength);
var bw = new BinaryWriter(ms);
bw.Write(SomeShort);
bw.Write(SomeOtherShort);
return ms.ToArray();
}
关于c# - 对于不是从 0 开始的缓冲区,有没有更轻松的 GetBytes 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2527018/