我试图创建一个数组,它由一个输入数组(长度= 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类型).我哪里出错了?这是最快的方法吗?
正如另一个答案所指出的那样,为什么它不起作用,我将专注于如何使用Linq更容易编写它.
public static double[] Stack(double[] input)
{
return input.Concat(input.Reverse())
.ToArray();
}
Run Code Online (Sandbox Code Playgroud)
Linq让生活更轻松:)
| 归档时间: |
|
| 查看次数: |
1391 次 |
| 最近记录: |