例如:
fixed(byte* ptr = &myBuffer[23])
{
...
}
我的缓冲区是否会被固定(所以我可以安全地在固定块中进行指针运算,只要我不超过数组的长度)或者仅将索引23处的字节固定?
答案 0 :(得分:2)
从C#语言规范5.0版开始,第18.6节:
例如,如果fixed-pointer-initializer计算的地址引用了对象的字段或数组实例的元素,则fixed语句保证包含对象实例的 未在声明的有效期内重新定位或处置
我的重点
(通过查看MSDN上的fixed
statement指出了