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