我想将a转换byte*为a byte[],但我也希望有一个可重用的函数来执行此操作:
public unsafe static T[] Create<T>(T* ptr, int length)
{
T[] array = new T[length];
for (int i = 0; i < length; i++)
array[i] = ptr[i];
return array;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是我收到编译器错误,因为T可能是".NET托管类型",我们无法指向那些.更令人沮丧的是,没有泛型类型约束可以将T限制为"非托管类型".是否有内置的.NET函数来执行此操作?有任何想法吗?