Jagged Arrays


A 2-dimensional array has a rectangular size (for example 3 by 3 elements). A jagged array is more flexible in sizing the array. With a jagged array every row can have a different size.

Figure 5-4 contrasts a 2-dimensional array that has 3x3 elements with a jagged array. The jagged array shown contains three rows where the first row has two elements, the second row has six elements, and the third row has three elements.

image from book
Figure 5-4

A jagged array is declared by placing opening and closing brackets after another. With the initialization of the jagged array, first only the size that defines the number of rows is set. The second brackets that define the number of elements inside the row are kept empty as every row has a different number of elements. Next the element number of the rows can be set for every row:

  int[][] jagged = new int[3][]; jagged[0] = new int[2] { 1, 2 }; jagged[1] = new int[6] { 3, 4, 5, 6, 7, 8 }; jagged[2] = new int[3] { 9, 10, 11 }; 

Iterating through all elements of a jagged array can be done with nested for loops. In the outer for loop every row is iterated, the inner for loop iterates through every element inside a row.

  for (int row = 0; row < jagged.Length; row++) {    for (int element = 0; element < jagged[row].Length; element++)    {       Console.WriteLine("row: {0}, element: {1}, value: {2}",          row, element, jagged[row][element]);    } } 

The outcome of the iteration displays the rows and every element within the rows:

 row: 0, element: 0, value: 1 row: 0, element: 1, value: 2 row: 1, element: 0, value: 3 row: 1, element: 1, value: 4 row: 1, element: 2, value: 5 row: 1, element: 3, value: 6 row: 1, element: 4, value: 7 row: 1, element: 5, value: 8 row: 2, element: 1, value: 9 row: 2, element: 2, value: 10 row: 2, element: 3, value: 11




Professional C# 2005 with .NET 3.0
Professional C# 2005 with .NET 3.0
ISBN: 470124725
EAN: N/A
Year: 2007
Pages: 427

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net