.net 使用只有一个索引的二维数组

.net 使用只有一个索引的二维数组,.net,vb.net,.net,Vb.net,“b”和“a”都是整数数组。我知道,如果“a”是1d数组,代码就可以正常工作(没有“(f)”)。简单地用a(f)填充B(f+1)。但是如果我使用二维数组,即使我指定了第一个索引,我也不能。 显然,VB不允许使用只有一个索引的2d数组。 有办法避免这个错误吗 你想要一份工作 锯齿阵列和二维阵列之间的区别在于,二维阵列的工作原理与坐标系类似,其中每个项目都位于特定的x和y坐标 For f = 0 To n b(f + 1) = a(f) Next 然而,锯齿状数组是数组的

“b”和“a”都是整数数组。我知道,如果“a”是1d数组,代码就可以正常工作(没有“(f)”)。简单地用a(f)填充B(f+1)。但是如果我使用二维数组,即使我指定了第一个索引,我也不能。 显然,VB不允许使用只有一个索引的2d数组。 有办法避免这个错误吗

你想要一份工作

锯齿阵列和二维阵列之间的区别在于,二维阵列的工作原理与坐标系类似,其中每个项目都位于特定的x和y坐标

For f = 0 To n

       b(f + 1) = a(f)

    Next
然而,锯齿状数组是数组的数组;这意味着主数组只有一个维度,但它可以容纳其他大小不同的数组

Array(3, 3):
        0  1  2  3
     0  A  B  C  D
     1  E  F  G  H
     2  I  J  K  L
     3  M  N  O  P
声明示例:

Array(3)(x):
         0   1   2   3   4
     0  {A,  B}
     1  {C,  D,  E,  F,  G}
     2  {H,  I,  J}
     3  {K}
初始化子数组:

'A jagged array capable of holding 32 different 1D arrays.
Dim a As Integer()() = New Integer(32 - 1) {}
访问一个项目:

'Initializes the first sub-array to hold 8 items.
a(0) = New Integer(8 - 1) {}
访问整个阵列:

Dim b As Integer = a(1)(3) 'F
你想要一个

锯齿阵列和二维阵列之间的区别在于,二维阵列的工作原理与坐标系类似,其中每个项目都位于特定的x和y坐标

For f = 0 To n

       b(f + 1) = a(f)

    Next
然而,锯齿状数组是数组的数组;这意味着主数组只有一个维度,但它可以容纳其他大小不同的数组

Array(3, 3):
        0  1  2  3
     0  A  B  C  D
     1  E  F  G  H
     2  I  J  K  L
     3  M  N  O  P
声明示例:

Array(3)(x):
         0   1   2   3   4
     0  {A,  B}
     1  {C,  D,  E,  F,  G}
     2  {H,  I,  J}
     3  {K}
初始化子数组:

'A jagged array capable of holding 32 different 1D arrays.
Dim a As Integer()() = New Integer(32 - 1) {}
访问一个项目:

'Initializes the first sub-array to hold 8 items.
a(0) = New Integer(8 - 1) {}
访问整个阵列:

Dim b As Integer = a(1)(3) 'F

你的意思是如果b是2d数组还是a是2d数组?我的意思是“a”是2d数组?你的意思是如果b是2d数组还是a是2d数组?我的意思是“a”是2d数组最完美的,但是当我尝试填充锯齿数组上的数组时,我得到错误“对象引用未设置为对象的实例”@MohamedYousef:在使用它之前,你必须初始化每个包含的数组。例如:
a(0)=新整数(8-1){}
初始化第一个数组以容纳8个项目(
a(0)(0)
a(0)(7)
)。几乎完美,但当我尝试填充锯齿状数组上的数组时,会出现错误“对象引用未设置为对象的实例”@MohamedYousef:在使用它之前,你必须初始化每个包含的数组。例如:
a(0)=新整数(8-1){}
初始化第一个数组以容纳8个项目(
a(0)(0)
a(0)(7)
)。