我正在尝试创建一个数组,该数组由一个输入数组(长度=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;
}
但这会引发错误(运算符不能应用于 void 类型)。请问我哪里错了?这是最快的方法吗?
最佳答案
作为another answer指出它为什么不起作用,我将专注于如何使用 Linq 更轻松地编写它。
public static double[] Stack(double[] input)
{
return input.Concat(input.Reverse())
.ToArray();
}
Linq 让生活更轻松:)
关于c# - 倒序堆叠数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23286752/