Vb.net vb-多维数组到一维数组
我定义了二维数组和一维数组:Vb.net vb-多维数组到一维数组,vb.net,multidimensional-array,Vb.net,Multidimensional Array,我定义了二维数组和一维数组: Dim A2(,) As Decimal = New Decimal(1, 2) {{1, 2, 3}, {4, 5, 6}} Dim A1(2) As Decimal 现在我想将A1的值设置为A2(0)-这也是一个2(实际上是3)位小数的数组 我如何用vb写这个 我会告诉你,我不能使用列表,我的代码必须使用这个简单的数组。有了这个代码,答案是:它不能做。。数组A1只能保存十进制值,不能保存十进制值数组 A1(0) = 123D ' Can hol
Dim A2(,) As Decimal = New Decimal(1, 2) {{1, 2, 3}, {4, 5, 6}}
Dim A1(2) As Decimal
现在我想将A1的值设置为A2(0)-这也是一个2(实际上是3)位小数的数组
我如何用vb写这个
我会告诉你,我不能使用列表,我的代码必须使用这个简单的数组。有了这个代码,答案是:
它不能做。
。数组A1
只能保存十进制值,不能保存十进制值数组
A1(0) = 123D ' Can hold a decimal value, not an array of decimals.
A1(1) = 345D ' Can hold a decimal value, not an array of decimals.
A1(2) = 854D ' Can hold a decimal value, not an array of decimals.
要使其工作,必须将数组A1
声明为数组数组:
Dim A1 As Decimal()() = New Decimal(2)() {}
现在您可以将数组分配给A1
:
A1(0) = {1D, 2D, 3D}
示例
Dim A2 As Decimal(,) = New Decimal((2 - 1), (3 - 1)) {{1, 2, 3}, {4, 5, 6}}
Dim A1 As Decimal()() = New Decimal(2 - 1)() {}
For i As Integer = 0 To (2 - 1)
Dim array As Decimal() = New Decimal(3 - 1) {}
For j As Integer = 0 To (3 - 1)
array(j) = A2(i, j)
Next
A1(i) = array
Next
MessageBox.Show(String.Join(Environment.NewLine, (From a As Decimal() In A1 Select String.Join(",", a)).ToArray()))
输出:
1,2,3
4,5,6
好的,但我想插入A2(0,)值-如何写入??A2(0)()或A2(0,)无法通过编译-语法是什么?您必须循环通过所需的秩并自己构建数组。@user2162278请注意
A1
的大小应该是1
而不是2
。
1,2,3
4,5,6