Unity3D – Multidimensional Arrays – Jagged Arrays
One Dimensional Array
A 1D (one dimensional) Array is something like that:
var strings = ["First string", "Second string", "Third string"];
or if you want:
// Array Start var mycars = new Array(); mycars[0] = "Saab"; // Notice: the first value is 0 mycars[1] = "Volvo"; mycars[2] = "BMW"; // Array End Debug.Log(mycars[0]); // Result is Saab
Notice the index inside square brackets [i], has only one dimension.
Try to think about a line:
[0] [1] [2]
OR
[Saab] [Volvo] [Bmw]
Multidimensional Array
A Multidimensional Array has a two dimensional grid coordinated to store variables.
A Multidimensional Array is always rectangular!
Example ONE:
#pragma strict public var multiDimensionalArray: int[,] = new int[2,2]; // 2x2 -> 4 cells function Start () { // Array Values multiDimensionalArray[0,0] = 10; multiDimensionalArray[0,1] = 20; multiDimensionalArray[1,0] = 30; multiDimensionalArray[1,1] = 40; Debug.Log(multiDimensionalArray[0,1]); // Result is 20 }// END Start()
NOTICE new int[2,2]; -> it means 4 cells
Try to think about a grid with 2D coordinates, the 4 cells are:
[0,0][0,1]
[1,0][1,1]
OR
[10][20]
[30][40]
Example TWO:
#pragma strict public var multiDimensionalArray: int[,,] = new int[2,2,2]; function Start () { // Array Values multiDimensionalArray[0,0,0] = 10; multiDimensionalArray[0,0,1] = 20; multiDimensionalArray[0,1,0] = 30; multiDimensionalArray[0,1,1] = 40; multiDimensionalArray[1,0,0] = 50; multiDimensionalArray[1,0,1] = 60; multiDimensionalArray[1,1,0] = 70; multiDimensionalArray[1,1,1] = 80; Debug.Log(multiDimensionalArray[1,0,1]); // Result is 60 }// END Start()
Jagged Array (Matrici Irregolari o Array ‘Frastagliati’)
A Multidimensional Array is always rectangular, in a Jagged Array, each of the ‘rows’ is a different length
#pragma strict public var myJaggedlArray = [ [0,1,1,0], [1,0,0,1], [1,0,0,1], [0,1,1,0] ]; function Start () { }// END Start()