日期:2014-05-18 浏览次数:20855 次
public struct obj
{
public int a;
}
private void button1_Click(object sender, EventArgs e)
{
int intCount = 10;
int objSize = Marshal.SizeOf(typeof(obj));
unsafe
{
IntPtr ip=Marshal.AllocHGlobal(intCount * objSize);
obj* pObj = (obj*)ip.ToPointer();
obj* pOriginal = pObj;
for (int i = 0; i < intCount; i++)
{
(*(pObj++)).a = i;
}
for (int i = 0; i < intCount; i++)
{
Console.WriteLine(pOriginal[i].a);
}
Marshal.FreeHGlobal(ip);
}
}
------解决方案--------------------