C# 在多维数组中使用数组

C# 在多维数组中使用数组,c#,multidimensional-array,arduino,jagged-arrays,C#,Multidimensional Array,Arduino,Jagged Arrays,我一直在寻找不同的答案和东西(比如锯齿阵列),但我仍然无法理解这是如何工作的(或者它是否工作)。最后,这应该是我的arduino用来写>的东西,但不说。我的问题是: 我想制作一个多维数组,它表示字母表中的所有字母。每个索引有两个数组;一个用于方向,一个用于旋转。大概是这样的: | 0 | 1 | 0 | directions[] | rotations[] | 1 | directions[] | rotations[] | ............

我一直在寻找不同的答案和东西(比如锯齿阵列),但我仍然无法理解这是如何工作的(或者它是否工作)。最后,这应该是我的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];
        }
}
公共类数据
{
公共距离;
公营机构【】轮调;
}
public LetterData[]序列=新LetterData[25];
无效开始()
{
对于(int i=0;i<25;i++)
{
序列[i]。距离=新整数[2];
序列[i]。旋转=新整数[2];
}
}

简化一下怎么样

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();
公共类数据
{
公共距离;
公营机构【】轮调;
}
公共类MyClass
{
public LetterData[]序列=新LetterData[25];
无效开始()
{
对于(int i=0;i<25;i++)
{
序列[i]=新的字母数据();
序列[i]。距离=新整数[2];
序列[i]。旋转=新整数[2];
}
}
}
...
MyClass m=新的MyClass();
m、 Start();

这很有道理。我怎么会错过这个我永远也不知道。把它作为答案,一切都会被原谅(直到下一个booboo)!!:)谢谢你的回答,伙计。这个吻让我的嘘声消失了。我只是用一个可能的解决方案更新了答案。。。当然,其他变体是使用列表而不是数组,因此您可以只
。添加
使其更简单,或者改进
LetterData
类,使这些setter和getter保证数组或列表已经实例化(如果数组的大小已知)。现在,您缺少了
序列[i]=新的LetterData()