Hey Guys,

I need to be able to re convert the 3D Array output of a C# scripting component (which seems to "flatten"it out by defualt ) back to its original form as input for another process. I will be in control of the dimensions and the Array dimensions will always be in the order of

```
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
for (int k = 0; k < z; k++)
{
// bla bla
}
}
}
```

I have converted a Array/List to a 2D Array before using

```
T[,] output = new T[height, width];
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
output[i, j] = input[i * width + j];
}
}
```

I just cannot seem to wrap my head around the index formula for the 3D Array!..

Any help would be appreciated