C# 从立方体中分割向量

C# 从立方体中分割向量,c#,C#,我有一个用于向量输入的函数,但我需要在立方体上运行它。我的冲动是我需要从立方体中切出一个向量,然后在双for循环中运行它 这是伪代码: public static double[,,] cubefunction(double[,,] input) { int N = input.GetLength(0); var outputvector = new double[N,N,N]; for (int i = 0; i < N; i++) {

我有一个用于向量输入的函数,但我需要在立方体上运行它。我的冲动是我需要从立方体中切出一个向量,然后在双for循环中运行它

这是伪代码:

public static double[,,] cubefunction(double[,,] input)
{
    int N = input.GetLength(0);
    var outputvector = new double[N,N,N];

    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            outputvector[1:N,i,j] = vectorfunction(input[1:N,i,j]);
        }
    }
    return outputvector;
}
公共静态双[,]立方函数(双[,]输入)
{
int N=input.GetLength(0);
var outputvector=新的双精度[N,N,N];
对于(int i=0;i

显然,
1:N
是获取整行的matlab符号。C#中是否有等价物?或者,如果不使用三重循环,我将如何进行此操作?

如果使用锯齿数组,则可以获得整行,但是你也可以添加第三个for循环,因为它缺少坐标当然,三重循环始终是一个选项,但我希望避免这种情况,因为它有一个基于LINQ的解决方案,可以推广到你的需要。@JohnC:take skip对多个维度有效吗?我认为它更简单,但你是对的,LINQ不会自然地处理多个维度。您可以编写一个扩展方法来转换为一维数组(通过一些搜索找到)和基于索引的查询……但此时循环似乎更简单。