【发布时间】:2020-10-16 04:07:26
【问题描述】:
我有一个二维数组group
float[,] group = new float [2,3];
我的理解是,在这行代码之后,group 中有 2 个 3 元素数组。
{{3elements},{3elements}}
我也有member
float[] member = new float[3] {1,2,3};
我想将二维数组“group”中的第一个数组设置为匹配“member”,这样我就可以拥有{{1,2,3},{}}
我试过group[0] = member;
但是我遇到了一个错误。这样做的正确方法是什么?
【问题讨论】:
-
“我在组中有 2 个 3 元素数组” -- 你的理解是不正确的。你有一个 二维 数组。它是一个包含行和列的数组。如果你想要一个数组数组,你需要一个锯齿状数组,例如
float[][] group = { new float[3], new float[3] };。当然,如果你只是要显式初始化成员,那么你可以这样做float[][] group = new float[][2]; group[0] = member;不清楚你实际上在这里想要什么。 -
@SvenRasmussen:不,这是不正确的。如果他们为二维数组指定了两个索引,那么他们只能分配一个
float值,而不是他们想要的float[]。 -
谢谢大家。我认为做 float[2,3] group 和 float[][] group = { new float[3], new float[3] } 只是第二种方法允许不同长度的数组在父数组中。除了“做不同的子数组长度”和“显式设置成员”之外,这两种方法有什么区别?
-
很好,谢谢彼得