【问题标题】:Use array inside multidimensional array在多维数组中使用数组
【发布时间】:2014-03-10 18:27:07
【问题描述】:

我一直在寻找不同的答案和东西(如锯齿状数组),但我仍然无法理解它是如何工作的(或者它是否有效)。最后,这应该是我的 arduino 用于写作的 > 但除此之外。这是我的问题:

我想创建一个代表字母表中所有字母的多维数组。每个索引有两个数组;一种用于方向,一种用于旋转。像这样的:

  |      0       |      1      |
0 | directions[] | rotations[] |
1 | directions[] | rotations[] |
................................
25| directions[] | rotations[] |

如何做到这一点?它甚至可以完成吗? 现在我在 C# 中使用它,但我最终必须将它转换为 C。 非常感谢任何帮助或见解。提前致谢!

编辑:带有 LetterData 类和示例值的新代码

public class LetterData
    {
        public int[] distance;
        public int[] rotation;
    }

    public LetterData[] sequence = new LetterData[25];

    void Start () 
    {

        for (int i = 0; i < 25; i++)
        {
            sequence[i].distance = new int[2];
            sequence[i].rotation = new int[2];
        }
}

【问题讨论】:

    标签: c# multidimensional-array arduino jagged-arrays


    【解决方案1】:

    简化怎么样?:

    public class LetterData
    {
        public DirectionsType[] Directions;
        public RotationsType[] Rotations;
    }
    
    LetterData[] myVar = new LetterData[25];
    ...
    myVar[i].Directions = new DirectionsType[n];
    ...
    myVar[i].Directions[k] = value;
    

    编辑答案:

    public class LetterData
        {
            public int[] distance;
            public int[] rotation;
        }
    
    public class MyClass
    {
        public LetterData[] sequence = new LetterData[25];
    
        void Start () 
        {
            for (int i = 0; i < 25; i++)
            {
                sequence[i] = new LetterData();
                sequence[i].distance = new int[2];
                sequence[i].rotation = new int[2];
            }
        }
    }
    
    ...
    
    MyClass m = new MyClass();
    m.Start();
    

    【讨论】:

    • 这很有意义。我永远不会知道我是如何错过的。
    • 将其标记为答案,一切都会被原谅(直到下一个嘘声)!! :)
    • 感谢您的回答伙伴。这个吻让我的布布消失了。
    • 我刚刚用一种可能的解决方案更新了答案...其他变体当然是使用 List 而不是数组,因此您可以只使用 .Add 来简化,或改进 LetterData 类到使那些保证数组或列表已经实例化的setter和getter(如果数组的大小已知)。
    • 给你,你不见了sequence[i] = new LetterData();
    猜你喜欢
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2014-01-13
    • 2023-03-18
    • 2012-01-05
    • 1970-01-01
    • 2013-09-30
    相关资源
    最近更新 更多