Vb.net Visual Basic-从控制台输入多维数组维度

Vb.net Visual Basic-从控制台输入多维数组维度,vb.net,matrix,multidimensional-array,Vb.net,Matrix,Multidimensional Array,本质上,我正在尝试编写一个小型控制台应用程序,它将乘法矩阵,在代码中用2D数组表示。我希望通过控制台输入确定矩阵尺寸 对于每个可能/允许的行数,是否可以不使用“If”分支来执行此操作?只需将维度作为整数变量传递即可 Dim s As String = Console.ReadLine() Dim m As Integer = Integer.Parse(s) s = Console.ReadLine() Dim n As Integer = Integer.Parse(s) Dim matr

本质上,我正在尝试编写一个小型控制台应用程序,它将乘法矩阵,在代码中用2D数组表示。我希望通过控制台输入确定矩阵尺寸


对于每个可能/允许的行数,是否可以不使用“If”分支来执行此操作?

只需将维度作为
整数
变量传递即可

Dim s As String = Console.ReadLine()
Dim m As Integer = Integer.Parse(s)

s = Console.ReadLine()
Dim n As Integer = Integer.Parse(s)

Dim matrix = New Double(m - 1, n - 1) 'Creates matrix with m rows and n columns.
请注意,在VB中,您没有指定数组或矩阵的大小,而是指定其上索引。所以如果你想要一个0的索引范围。。。m-1和0。。。n-1,您必须编写
新的双精度(m-1,n-1)
。这与C#不同,C#指定尺寸。C的等价物是新的双精度[m,n]


另请参见:

这不会创建一个第一行有m-1个元素,第二行有n-1个元素的数组吗?不会,因为在VB中,您指定的是最高索引,而不是大小。从链接中,用[5,5]声明一个数组会创建一个6*6大小的数组,这意味着我们可以使用arr[5,5]在这种情况下,它不会声明第一行和第二行,而是水平(m-1)和垂直(n-1)的2D结构的最高索引。但你认为哪一个是水平的,哪一个是垂直的,取决于你。所以您要声明行和列,而不是第一行和第二行。