Приклади
Двовимірний масив:
int[,] k = new int [2,3];
Тут пара квадратних дужок тільки одна. У нашому прикладі в масиві 6 (=2x3) елементів (k[0,0] - перший, k[1,2] - останній). Аналогічно можна задавати багатовимірні масиви. Тривимірний масив:
int[ , , ]k = new int [10,10,10];
Варіант ініціалізації багатовимірного масиву:
int[ ] k = {{2,-2},{3,-22},{0,4}};
Масиви масивів
Ще одним видом масивів С# є масиви масивів, називані також порізаними масивами (jagged arrays). Такий масив масивів можна розглядати як одновимірний масив, елементи якого є масивами, елементи яких, у свою чергу, знову можуть бути масивами, і так може тривати до деякого рівня вкладеності.
Ці масиви можуть застосовуватися для подання дерев, у яких вузли можуть мати довільне число нащадків. Таким може бути, наприклад, генеалогічне дерево. Вершини першого рівня - Fathers, що представляють батьків, можуть задаватися одновимірним масивом, так що Fathers[i] - це i-й батько. Вершини другого рівня представляються масивом масивів - Children, так що Children[i] - це масив дітей і-го батька, а Children[i][j] – це j-та дитина i-го батька. Для подання онуків знадобиться третій рівень, так що Grandchildren [i][j][k] буде представляти k-го онука j-ї дитини і-го батька.
Є деякі особливості в оголошенні й ініціалізації таких масивів. Якщо при оголошенні типу багатовимірних масивів для вказівки розмірності використовувалися коми, то для порізаних масивів застосовується більш ясна символіка - сукупності пар квадратних дужок; наприклад, int [ ][ ] задає масив, елементи якого - одновимірні масиви елементів типу int. Складніше зі створенням самих масивів й їх ініціалізацією. Тут не можна викликати конструктор new int[3][5], оскільки він не задає порізаний масив. Фактично потрібно викликати конструктор для кожного масиву на самому нижньому рівні. У цьому й полягає складність оголошення таких масивів.