double[,,] numbers;
To quickly determine the number of dimensions in a declared C# array, count the number of commas and add one to that total.
In the following example, I have a two-dimensional array of sales figures that represent this year's year-to-date figures and last year's totals for the same time frame. Take special note of the syntax used to instantiate the array (in the MultiDimArrayApp constructor).
using System; class MultiDimArrayApp { protected int currentMonth; protected double[,] sales; MultiDimArrayApp() { currentMonth=10; sales = new double[2, currentMonth]; for (int i = 0; i < sales.GetLength(0); i++) { for (int j=0; j < 10; j++) { sales[i,j] = (i * 100) + j; } } } protected void PrintSales() { for (int i = 0; i < sales.GetLength(0); i++) { for (int j=0; j < sales.GetLength(1); j++) { Console.WriteLine("[{0}][{1}]={2}", i, j, sales[i,j]); } } } public static void Main() { MultiDimArrayApp app = new MultiDimArrayApp(); app.PrintSales(); } }
Running the MultiDimArrayApp example results in this output: -
[0][0]=0 [0][1]=1 [0][2]=2 [0][3]=3 [0][4]=4 [0][5]=5 [0][6]=6 [0][7]=7 [0][8]=8 [0][9]=9 [1][0]=100 [1][1]=101 [1][2]=102 [1][3]=103 [1][4]=104 [1][5]=105 [1][6]=106 [1][7]=107 [1][8]=108 [1][9]=109
Remember that in the single-dimensional array example I said the Length property will return the total number of items in the array, so in this example that return value would be 20. In the MultiDimArray.PrintSales method I used the Array.GetLength method to determine the length or upper bound of each dimension of the array. I was then able to use each specific value in the PrintSales method.