Marshal.Copy()
Копирует данные из управляемого массива в указатель неуправляемой памяти или из указателя неуправляемой памяти в управляемый массив. Т.е. например из IntPtr в int, а также можно из int в IntPtr.
float[] fin;
IntPtr pin;
...
Marshal.Copy(fin,0,pin,n*2);
Как я понял в данном случае происходит копирование данных из управляемого массива в указатель неуправляемой памяти. Почему в качестве параметров "0" и "n*2"? Как осуществить копирование данных из указателя неуправляемой памяти в управляемый массив?
И какой это язык? найти не смог
Источник: Stack Overflow на русском