我有一个二维 int 数组说
int[,] data = new int[N, numOfCol];
现在这也是长度为 N 的一维数组的 numOfCol 数。对吗?
假设 numOfCol 为 3。
我们如何表示这些一维数组?
data[,0] data[,1] and data[,2]
在 Visual Studio 中给了我错误的语法。
我有一个二维 int 数组说
int[,] data = new int[N, numOfCol];
现在这也是长度为 N 的一维数组的 numOfCol 数。对吗?
假设 numOfCol 为 3。
我们如何表示这些一维数组?
data[,0] data[,1] and data[,2]
在 Visual Studio 中给了我错误的语法。
您的问题有点令人困惑,因为您的标题是关于拆分数组,而问题的主体是关于声明数组的语法。
如果您想将 2D 数组拆分为锯齿状数组(即数组数组),请使用以下内容:
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();
如果您只想声明一个锯齿状数组,请参阅Garath 的回答。
您必须将数据结构更改为二维数组,但格式为
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]
}
}