C# 如何从函数返回指针数组

C# 如何从函数返回指针数组,c#,arrays,pointers,unmanaged,unsafe,C#,Arrays,Pointers,Unmanaged,Unsafe,我想知道如何为outArray返回二维指针数组? 我不知道如何在这个例子中声明和实现它 功能1(ptr,输出阵列) 为什么需要无管理代码解决方案?我使用的是Vector128/SIMD指令代码,因此我必须使用不安全的代码。在该代码中,我必须使用指针您是否从问题中的代码中得到编译错误?如果是,错误是什么?如果没有,代码在运行时“出错”的原因是什么(解释它做什么以及您希望它做什么)没有编译错误。这段代码可以工作,但在我的示例中,function1返回一个普通的二维数组,而不是二维指针数组。我正在寻找

我想知道如何为outArray返回
二维指针数组

我不知道如何在这个例子中声明和实现它

功能1(ptr,输出阵列)


为什么需要无管理代码解决方案?我使用的是
Vector128/SIMD指令代码
,因此我必须使用
不安全的
代码。在该代码中,我必须使用
指针
您是否从问题中的代码中得到编译错误?如果是,错误是什么?如果没有,代码在运行时“出错”的原因是什么(解释它做什么以及您希望它做什么)没有编译错误。这段代码可以工作,但在我的示例中,
function1
返回一个普通的二维数组,而不是二维指针数组。我正在寻找是否有可能返回一个二维指针数组:
out byte[,]outArray
我已经将
内部函数
系统进行了比较。数值函数
与许多基准测试进行了比较,在我的测试中,
内部函数
速度要快得多。但是,在这种情况下,
out
指针是错误的,这是真的吗。我只是想知道这是否可能。我真的不知道如何编写它,因为我没有编译idéa。将其作为输入数据传递似乎不会在那里编译。为什么需要无管理代码解决方案?我使用的是
Vector128/SIMD指令代码
,因此我必须使用
不安全的
代码。在该代码中,我必须使用
指针
您是否从问题中的代码中得到编译错误?如果是,错误是什么?如果没有,代码在运行时“出错”的原因是什么(解释它做什么以及您希望它做什么)没有编译错误。这段代码可以工作,但在我的示例中,
function1
返回一个普通的二维数组,而不是二维指针数组。我正在寻找是否有可能返回一个二维指针数组:
out byte[,]outArray
我已经将
内部函数
系统进行了比较。数值函数
与许多基准测试进行了比较,在我的测试中,
内部函数
速度要快得多。但是,在这种情况下,
out
指针是错误的,这是真的吗。我只是想知道这是否可能。我真的不知道如何编写它,因为我没有编译idéa。将其作为输入数据传递似乎不会在那里编译。
    unsafe private void button7_Click(object sender, EventArgs e)
    {
        byte[,] inputArray = new byte[10, 100];
        byte[,] outArray;
        fixed (byte* ptr = inputArray)
        {
            //How to return a 2 Dimensional pointer array for: "outArray" ?
            function1(ptr, out outArray); 
        }
    }
    unsafe void function1(byte* ptr, out byte[,] outArray)
    {
        outArray = new byte[10, 100];
    }