Чтобы использовать указатели, вы должны разрешить небезопасный код и пометить методы с помощью указателей как unsafe
.Затем вам нужно исправить любые указатели в памяти, чтобы убедиться, что сборщик мусора не перемещает их:
byte[] buffer = new byte[256];
// fixed ensures the buffer won't be moved and so make your pointers invalid
fixed (byte* ptrBuf = buffer) {
// ...
}
Это небезопасно, поскольку теоретически вы можете взять указатель, обойти все адресное пространство иповредить или изменить внутренние структуры данных CLR, скажем, для изменения реализации метода.Вы не можете сделать это в управляемом коде.