фиксированный оператор в C # и управляемый указатель в коде IL

В небезопасном коде на 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 ?

6
задан svick 25 June 2011 в 21:03
поделиться