Корректен ли этот код для 64-битных систем?

Этот код заполняет массив от 0 до 1000000 используя указатели через небезопасный контекст. Вопрос заключается в том: корректен ли этот код для 64-битных систем? Если нет, то как его нужно переписать? Есть сомнение, что указатель будет указывать за пределы 32-битной области, а так как используется int произойдёт ошибка. Не понимаю как сделать указатель типа long.

private const int count = 1000000;
private readonly int[] arr = new int[count];

public void Test()
{
    unsafe
    {
        fixed (int* ptr = arr)    
            for (var i = 0; i < count; i++)
            {
                *(ptr + i) = i;
            }
    }
}

Ответы (0 шт):