== Arrays ==
=== Jagged Arrays ===
These are arrays of arrays. It only allocated space for each array assigned to it.
// allocate memory
int jagged[][] = new int[2][];
jagged[0] = new int[20];
jagged[1] = new int[10];
// use array
jagged[0][2] = 15;
=== Multi-Dimensional Arrays ===
These are arrays with more than one dimension. Memory gets allocated for the entire reserved space specified by dimensions.
// allocate memory
int array[,] = new int[2][10];
// use array
array[0,2] = 15;
=== Getting Dimensions ===
When traversing an array using loops, for example, there are a couple of ways to do it:
// Single Dimension
int SingleDimArr[] = new int[10];
for (int i = 0; i < SingleDimArr.Length; i++) // rows
{
SingleDimArr[i, 0] = 0;
}
// Multi-dimensions
int DoubleDimArr[,] = new int[2,10];
for (int i = 0; i < DoubleDimArr.GetLength(0); i++) // rows
{
for (int j = 0; j < DoubleDimArr.GetLength(1); j++) // columns
{
DoubleDimArr[i, j] = 0;
}
}
Alternatively, you can traverse without knowing dimensions if you simply need the array values:
int[,] arr = new int[,] {{1,2,3}, {4,5,6}, {7,8,9}, {10,11,12}};
foreach(int a[] in arr)
{
foreach(int i in a)
{
Console.WriteLine(i);
}
}
== Resources ==
* [[http://www.csharp-station.com/Tutorials/Lesson02.aspx|C# Tutorial: Lesson 2: Arrays]]
* [[http://msdn.microsoft.com/en-us/library/aa288453(v=vs.71).aspx|MSND: Arrays Tutorial]]