堆栈数组的顺序相反

nik*_*nik 3 c# arrays

我试图创建一个数组,它由一个输入数组(长度= N)和相同的数组以相反的顺序组成,因此输出数组是长度(2N).就像输入= {1,2,3}然后输出= {1,2,3,3,2,1}

这是我试过的:

public static double[] stack(double[] input)
{
    int N = input.Length;
    var z = new double[2 * N];
    input.CopyTo(z, 0);
    Array.Reverse(input).CopyTo(z, N);

    return z;
}
Run Code Online (Sandbox Code Playgroud)

但这会引发错误(操作符不能应用于void类型).我哪里出错了?这是最快的方法吗?

Sri*_*vel 9

正如另一个答案所指出的那样,为什么它不起作用,我将专注于如何使用Linq更容易编写它.

public static double[] Stack(double[] input)
{
    return input.Concat(input.Reverse())
                 .ToArray();
}
Run Code Online (Sandbox Code Playgroud)

Linq让生活更轻松:)