我需要快速将通用.net列表中的数据传递给非托管代码,并且由于列表内部是一个数组,我想将其固定并获取指向数据的指针,但基本的固定似乎并不指向数据,而不是对象本身。
如何在c#中声明和填充的List获取包含数组的数据的本机访问权限?
答案 0 :(得分:2)
使用ToArray功能,然后固定生成的数组。以下是ToArray的快速来源。
public T[] ToArray()
{
T[] array = new T[_size];
Array.Copy(_items, 0, array, 0, _size);
return array;
}
在技术意义上,您可以使用反射来获取列表的_items成员然后将其固定,但是......