如何获取列表的指针?

Eug*_*344 3 c# unmanaged

所以我知道列表里面保存着数组,所以我需要获取它的未知类型的指针(void *)。使用数组很容易做到:

int[] items;
fixed (void* pointer = items)
{

}
Run Code Online (Sandbox Code Playgroud)

所以我需要对列表做同样的事情

List<int> items;
fixed (void* pointer = items)
{

}
Run Code Online (Sandbox Code Playgroud)

这段代码似乎不起作用。我不想将列表复制到新数组,我想访问指向其内部数组的指针

zwc*_*oud 5

有可能的。

  1. 您可以通过反射访问私有数组List<T>._items

  2. 自己实现一个!

    利用开源 .NET Core 项目,它是免费的List<T> . 然后添加方法或其他东西来获取不安全的指针List<T>._items是非常容易的。