【发布时间】:2011-06-25 20:54:27
【问题描述】:
在 C# 的不安全代码中,我将指针分配给数组类型的托管变量:
int[] array = new int[3];
...
fixed (int* ptr = array)
{
//some code
}
然后我查看了IL代码的相应部分:
.locals init ([0] int32[] 'array',
[1] int32& pinned ptr)
我想知道,既然这是不安全的代码,并且int* ptr 是非托管指针的声明(或者我现在这么认为),为什么在 IL 代码中不写 int32* ptr,而不是 int32& ptr ?
【问题讨论】:
标签: c# pointers unmanaged cil fixed