2011-03-14 22 views

回答

0

时退房Marshal.Copy方法。

byte[] managedArray = {1,2,3,4,5}; 
int size = Marshal.SizeOf(managedArray[0]) * managedArray.Length; 
IntPtr pnt = Marshal.AllocHGlobal(size); 
Marshal.Copy(pnt, managedArray, 0 , managedArray.Length); 
+0

'Dump'是你的扩展方法吗?包含该方法的行可能应该被删除。 – 2011-03-14 15:37:31

+0

@Rest Wing:对不起Linq-Pad :) – cordellcp3 2011-03-15 08:47:48

+1

难道你不认为他的意思是相反吗?他有一个IntPtr指向数据,他想把它传递给一个用byte []参数声明的函数? – 2011-03-15 10:46:49