我想创建二维数组(4,4)。
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
然而,当我创建代码时,它垂直显示,只有1维。
1
2
3
4
.
.
这是我的代码
Public Class Form1
Private Sub btnGo_Click(sender As Object, e As EventArgs) Handles btnGo.Click
Dim array(3, 3) As Integer
Dim array2 As Integer(,)
array2 = New Integer(3, 3) {}
array(0, 0) = "1"
array(1, 0) = "2"
array(2, 0) = "3"
array(3, 0) = "4"
array(0, 1) = "5"
array(1, 1) = "6"
array(2, 1) = "7"
array(3, 1) = "8"
array(0, 2) = "9"
array(1, 2) = "10"
array(2, 2) = "11"
array(3, 2) = "12"
array(0, 3) = "13"
array(1, 3) = "14"
array(2, 3) = "15"
array(3, 3) = "16"
lstArray.Items.Add(array(0, 0))
lstArray.Items.Add(array(1, 0))
lstArray.Items.Add(array(2, 0))
lstArray.Items.Add(array(3, 0))
lstArray.Items.Add(array(0, 1))
lstArray.Items.Add(array(1, 1))
lstArray.Items.Add(array(2, 1))
lstArray.Items.Add(array(3, 1))
lstArray.Items.Add(array(0, 2))
lstArray.Items.Add(array(1, 2))
lstArray.Items.Add(array(2, 2))
lstArray.Items.Add(array(3, 2))
lstArray.Items.Add(array(0, 3))
lstArray.Items.Add(array(1, 3))
lstArray.Items.Add(array(2, 3))
lstArray.Items.Add(array(3, 3))
End Sub
End Class
如何制作这个二维数组? 提前致谢。
答案 0 :(得分:1)
您向我们提供了有关如何创建阵列的代码,但没有给出我们如何显示它的代码。我确信你的问题就在那里(在button_click事件中,或者代码将数组读回给你的地方)。
我的猜测是非共享代码有三个问题之一:
1)它只循环通过1维数组。所以,你有像
这样的地方For i = 0 To 3
MsgBox(array(0, i)
Next
你需要的是像
For i = 0 To 3
For j = 0 To 3
MsgBox(array(i, j)
Next
Next
2)它引用了lstArray,但在某些时候混淆了lstArray的结构和数组的结构。阵列的索引范围从(0,0)到(3,3),而lstArray的范围从(0)到(15)。如果您的变量在编码的某个时刻混淆或从一个变为另一个,那么您只能从0循环到3。
3)在如何将lstArray中的单独项目连接(或以其他方式组合)为一行时,某处出现了错误。
看看您是否可以根据这些建议解决或至少缩小问题范围,然后在需要帮助时发布缺失的代码。