关键词搜索

源码搜索 ×
×

C# 内存分配与释放示例

发布2018-02-01浏览3565次

详情内容

原文地址:https://msdn.microsoft.com/zh-cn/library/ms146631.aspx

  1. using System;
  2. using System.Runtime.InteropServices;
  3. class Example
  4. {
  5. static void Main()
  6. {
  7. // Create a managed array.
  8. byte[] managedArray = { 1, 2, 3, 4 };
  9. // Initialize unmanaged memory to hold the array.
  10. int size = Marshal.SizeOf(managedArray[0]) * managedArray.Length;
  11. IntPtr pnt = Marshal.AllocHGlobal(size);
  12. try
  13. {
  14. // Copy the array to unmanaged memory.
  15. Marshal.Copy(managedArray, 0, pnt, managedArray.Length);
  16. // Copy the unmanaged array back to another managed array.
  17. byte[] managedArray2 = new byte[managedArray.Length];
  18. Marshal.Copy(pnt, managedArray2, 0, managedArray.Length);
  19. Console.WriteLine("The array was copied to unmanaged memory and back.");
  20. }
  21. finally
  22. {
  23. // Free the unmanaged memory.
  24. Marshal.FreeHGlobal(pnt);
  25. }
  26. }
  27. }


相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载