Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C语言中将二维数组拆分为多个一维数组_C# - Fatal编程技术网

C# 在C语言中将二维数组拆分为多个一维数组

C# 在C语言中将二维数组拆分为多个一维数组,c#,C#,我有一个二维整数数组 int[,] data = new int[N, numOfCol]; 现在这也是长度为N的一维数组的numOfCol数,对吗 假设numOfCol为3 我们如何表示这些一维阵列 data[,0]data[,1]和data[,2]在Visual Studio中给了我错误的语法。您必须将数据结构更改为二维数组,但格式为 int[][] data = new int[max number of columns][] 你可以在这篇文章中看到很好的解释试试这个 for

我有一个二维整数数组

int[,] data = new int[N, numOfCol]; 
现在这也是长度为N的一维数组的numOfCol数,对吗

假设numOfCol为3

我们如何表示这些一维阵列


data[,0]data[,1]和data[,2]在Visual Studio中给了我错误的语法。

您必须将数据结构更改为二维数组,但格式为

int[][] data = new int[max number of columns][]
你可以在这篇文章中看到很好的解释

试试这个

    for(int i =0;i<N;i++){
     //in each row

        for(int j=0;j<numOfCol;j++){
         //in each column

          var value = data[i,j]; //like data[0,0] data[0,1] data[0,2].... 
          //you have go through each row and column or directly if
          // you have data in 2nd row and 3rd column, you can write data[1,2]
        }
    }

您的问题有点混乱,因为您的标题是关于拆分数组的,而问题的主体是关于声明数组的语法

如果要将二维阵列拆分为锯齿状阵列(即阵列阵列),请使用以下方法:

int[,] input = ...

int[][] output = Enumerable.Range(0, input.GetLength(0))
    .Select(x => Enumerable.Range(0, input.GetLength(1))
        .Select(y => input[x, y])
        .ToArray())
    .ToArray();

如果您只想声明一个锯齿状数组,请参见。

那么,您想访问第二个维度而不指定第一个维度吗?你不能。我认为在这里使用锯齿状数组是解决问题的方法。请浏览以下链接:很抱歉造成混淆。下次我会谨慎地定义正确的问题陈述。节省了我一些时间!: