1.示例代码
private void button1_Click(object sender, EventArgs e)
{
byte[] data = { 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28 }; //模拟要写入的数组
List<byte[]> listBytes = new List<byte[]>();
listBytes.Add(data); //数组转集合
RecData(listBytes); //调用方法
MessageBox.Show("写入成功");
}
public void RecData(List<byte[]> listBytes)
{
byte[] result = listBytes.SelectMany(bytes => bytes).ToArray();//正确转换方式 集合转数
using (FileStream fsw = new FileStream("Data.raw", FileMode.Append, FileAccess.Write))
{
for (int i = 0; i < result.Length; i += 4) //按照四个字节拆分
{
byte[] tempArray = new byte[4];
int length = Math.Min(4, result.Length - i); //返回两个数中的最小值
Array.Copy(result, i, tempArray, 0, length);
fsw.Write(tempArray, 0, tempArray.Length);
}
}
}
输出结果: