我使用以下方法保留了一个无人阵列:
IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf(array[0]) * array.Length);
然后使用以下方法释放它:
Marshal.FreeHGlobal(ptr );
据我所知,这将正确释放内存并且不会发生内存泄漏。我的问题:这是真的吗?如果是,它是如何工作的?Marshal 状态是否已满并存储有关每个保留数据的元数据?
我使用以下方法保留了一个无人阵列:
IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf(array[0]) * array.Length);
然后使用以下方法释放它:
Marshal.FreeHGlobal(ptr );
据我所知,这将正确释放内存并且不会发生内存泄漏。我的问题:这是真的吗?如果是,它是如何工作的?Marshal 状态是否已满并存储有关每个保留数据的元数据?