所以,如果我有这样的代码:
public static void GetPointer(int[] array)
{
fixed(void* pointer = array)
{
}
}
我可以非常容易地获取一个未知类型的int数组的指针。但是如果我想要一个未知类型数组的指针呢?我该怎么办?
public static void GetPointer(Array array)
{
fixed(void* pointer = array)
{
}
}
似乎不起作用。
答案 0 :(得分:1)
你对指针的意图对我来说很陌生,但你可以使用泛型。这些将允许您使用不同的类型。
public static void GetPointer<T>(T[] array)
{
// Do Stuff...
}
您可以在<T>
中指定类型,以便现在将该类型分配给您将在方法中使用的T
。不知道为什么你需要指针,.Net的美妙之处在于减轻对它们的需求。
特别是因为指针在.Net中被视为非托管代码。你通常不使用它。