what is jagged array in c# code example
Example 1: jagged array c#
// A "multidimensional array" is essentially a matrix occupying one block of memory
// The "jagged array" is an array of arrays
// - with no restriction that the latter arrays need to be of the same dimension/length
// - each of these latter arrays also occupy their own block in memory
int[][] jArray = new int[3][]{
new int[2]{1, 2},
new int[3]{3, 4, 5},
new int[4]{6, 7, 8, 9}
};
jArray[1][2]; //returns 4
// We can change a whole element of array
jArray[1] = new int[3] { 10, 11, 12 };
jArray[1][2]; //returns 11
int[][][] intJaggedArray = new int[2][][]
{
new int[2][]
{
new int[3] { 1, 2 },
new int[2] { 4, 5, 6 }
},
new int[1][]
{
new int[3] { 7, 8, 9, 10 }
}
};
intJaggedArray[0][1][2]; //returns 6
// https://stackoverflow.com/a/4648953/9034699
// https://www.tutorialsteacher.com/csharp/csharp-jagged-array
// The following are multidimensional arrays
// Two-dimensional array. (4 rows x 2 cols)
int[,] array2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
// Three-dimensional array. (4 rows x 2 cols)
int[,,] array3D = new int[,,] {
{ { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } },
{ { 13, 14, 15, 16 }, { 17, 18, 19, 20 }, { 21, 22, 23, 24 } }
};
int[,,] array3D = new int[2, 3, 4] {
{ { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } },
{ { 13, 14, 15, 16 }, { 17, 18, 19, 20 }, { 21, 22, 23, 24 } }
};
// C# also has jagged arrays
Example 2: how t declare a jagged array c#
data_type[][] name_of_array = new data_type[rows][]