Jagged arrays C# with Example



Jagged arrays C# with Example

Jagged arrays are arrays that instead of primitive types, contain arrays (or other collections). It's like an array of 
arrays - each array element contains another array. 
 

They are similar to multidimensional arrays, but have a slight difference - as multidimensional arrays are limited to 
a fixed number of rows and columns, with jagged arrays, every row can have a different number of columns. 
Declaring a jagged array 
For example, declaring a jagged array with 8 columns: 
int[][] a = new int[8][]; 
The second [] is initialized without a number. To initialize the sub arrays, you would need to do that separately: 
for (int i = 0; i < a.length; i++) 
{ 
a[i] = new int[10]; 
} 
Getting/Setting values 
Now, getting one of the subarrays is easy. Let's print all the numbers of the 3rd column of a: 
for (int i = 0; i < a[2].length; i++) 
{ 
Console.WriteLine(a[2][i]); 
} 
Getting a specific value: 
a[][] 
Setting a specific value: 
a[][] =  
Remember: It's always recommended to use jagged arrays (arrays of arrays) rather than multidimensional arrays 
(matrixes). It's faster and safer to use. 
Note on the order of the brackets 
Consider a three-dimensional array of five-dimensional arrays of one-dimensional arrays of int. This is written in 
C# as: 
int[,,][,,,,][] arr = new int[8, 10, 12][,,,,][]; 
In the CLR type system, the convention for the ordering of the brackets is reversed, so with the above arr instance 
we have: 
arr.GetType().ToString() == "System.Int32[][,,,,][,,]" 
and likewise: 
typeof(int[,,][,,,,][]).ToString() == "System.Int32[][,,,,][,,]" 
 

0 Comment's

Comment Form