C# 使用指针将不同值类型赋值到字节数组中
C#指针操作字节数组
Demo(以添加short类型的值为例):
//bytes:目标字节数组; offset:目标在字节数组的位置; value:添加的类型值public static unsafe void WriteInt16ToBytes(byte[] bytes, int offset, short value) { fixed (byte* ptr = bytes) { *((short*)(ptr + offset)) = value; } }
实现思路:
1.创建指向字节数组bytes第一个字节的指针
2.通过增加偏移量offset,找到存放value值的内存区域
3.将该区域转换为short(两个字节)大小
4.将value复制到该区域,完成short类型变量向bytes的赋值