作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个函数想要接收 sbyte* 缓冲区如何在 C# 中从头开始和从现有的 byte[] 创建这样的缓冲区?
最佳答案
// Allocate a new buffer (skip this if you already have one)
byte[] buffer = new byte[256];
unsafe
{
// The "fixed" statement tells the runtime to keep the array in the same
// place in memory (relocating it would make the pointer invalid)
fixed (byte* ptr_byte = &buffer[0])
{
// Cast the pointer to sbyte*
sbyte* ptr_sbyte = (sbyte*) ptr_byte;
// Do your stuff here
}
// The end of the "fixed" block tells the runtime that the original array
// is available for relocation and/or garbage collection again
}
关于c# - 如何在 C# 中将 byte[] 转换为 sbyte*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3543539/
我是一名优秀的程序员,十分优秀!