【问题标题】:Set an array member inside a 2d array [duplicate]在二维数组中设置数组成员[重复]
【发布时间】: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] } 只是第二种方法允许不同长度的数组在父数组中。除了“做不同的子数组长度”和“显式设置成员”之外,这两种方法有什么区别?
  • 很好,谢谢彼得

标签: c# arrays


【解决方案1】:

你可以试试这个

        float[,] group = new float[2, 3];
        float[] member = new float[3] { 1, 2, 3 };

        for(int i = 0; i < member.Length; i++)
        {
            group[0, i] = member[i];
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    • 1970-01-01
    • 1970-01-01
    • 2019-10-01
    • 2021-10-18
    • 2013-01-08
    • 2017-09-20
    相关资源
    最近更新 更多