C# 结构体数组的指针

已知一个已经初始化的结构体数组MyStruct[]array=newMyStruct[2];array[0].a="abc";array[0].b=2;array[1].... 已知一个已经初始化的结构体数组
MyStruct[] array = new MyStruct[2];
array[0].a = "abc";

array[0].b = 2;
array[1].a = "abcdef";
array[1].b = 12;

需要获取该数组的指针 以IntPtr的形式传给另外一个方法进行调用。
求各位帮忙!感谢!
展开
 我来答
百度网友cfe4d0f
推荐于2018-04-30 · TA获得超过1502个赞
知道小有建树答主
回答量:937
采纳率:100%
帮助的人:849万
展开全部
System.Runtime.InteropServices.Marshal.UnsafeAddrOfPinnedArrayElement(array,0)
直接获得array第0个元素的首字节地址

当然也可以有个变通的方案...不用new来申请数组 用stackalloc
比如 MyStruct* array = stackalloc MyStruct[2];
这样可以直接在栈区申请数组并获得指针(类似C语言的静态数组了...但是要考虑你这个对象的生命周期)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式