water_lily_2012
شنبه 27 مهر 1392, 14:09 عصر
سلام
تابع زیر یک Struct را به بایت تبدیل می کند.
آیا برای تبدیل داره از حافظه استفاده میکنه و مقادیر را داخل حافظه کپی و دوباره در آرایه میریزه.
خواهشا یکی توضیح بده برای تبدیل داره از کجا استفاده می کنه.
در اینجا Header ساختار من هست.
public static byte[] StructToBytes(Header header)
{
byte[] arr = new byte[2048];
IntPtr ptr = Marshal.AllocHGlobal(2048);
Marshal.StructureToPtr(header, ptr, true);
Marshal.Copy(ptr, arr, 0, 2048);
Marshal.FreeHGlobal(ptr);
return arr;
}
تشکر
تابع زیر یک Struct را به بایت تبدیل می کند.
آیا برای تبدیل داره از حافظه استفاده میکنه و مقادیر را داخل حافظه کپی و دوباره در آرایه میریزه.
خواهشا یکی توضیح بده برای تبدیل داره از کجا استفاده می کنه.
در اینجا Header ساختار من هست.
public static byte[] StructToBytes(Header header)
{
byte[] arr = new byte[2048];
IntPtr ptr = Marshal.AllocHGlobal(2048);
Marshal.StructureToPtr(header, ptr, true);
Marshal.Copy(ptr, arr, 0, 2048);
Marshal.FreeHGlobal(ptr);
return arr;
}
تشکر