Arrays That Are Both Multidimensional and Jagged

Jagged arrays are different than multidimensional arrays.  Multidimensional arrays have a rank greater than one, with a separate indexer and a size for each rank.  Jagged arrays are just an array of arrays.
You can create an array which is both jagged and multidimensional.  Here’s an example (a two-dimensional array of arrays).
1
2
3
4
5
6
7
8
9
// Multidimensional / jagged array.  E.g. store array
//   of phone call objects for each day of the week,
//   each hour of the day.
PhoneCall[,][] weeklyCallLog = new PhoneCall[7, 24][];
 
// Record 2 calls for Monday between 8-9 AM
weeklyCallLog[1 ,8] = new PhoneCall[2];
weeklyCallLog[1, 8][0] = thisCall;
weeklyCallLog[1, 8][1] = thatCall;
Here’s another example (an array of two-dimensional arrays):


1
2
3
// public enum ChessPiece { Empty, Knight, Rook, Etc };
ChessPiece[][,] chessGame = new ChessPiece[100][,];
chessGame[0] = new ChessPiece[8, 8];