Език C# 7

Друг вид C# масиви са масиви от масиви, наричани още назъбени масиви. Такъв масив от масиви може да се разглежда като едномерен масив, чиито елементи са масиви, чиито елементи от своя страна могат отново да бъдат масиви и това може да продължи до някакво ниво на влагане.

В какви ситуации може да има нужда от такива структури от данни? Тези масиви могат да се използват за представяне на дървета, в които възлите могат да имат произволен брой деца. Това може да бъде например родословно дърво. Върховете от първо нивоБащи,представляващи бащи могат да бъдат дадени от едномерен масив, така чеБащи[i]еiта баща. Върховете на второто ниво са представени от масив от масиви -Деца,така чеДеца[i]е масивът от деца наiти баща, аДеца[i][j]е j-то дете наiти баща. Имаме нужда от трето ниво, за да представим внуците, така чеGrandChildren[i][j][k]ще представляваkтото внуче наjтото дете наiтия баща.

В този случай елементите на масива ще получат нулеви стойности по време на инициализацията. Действителната инициализация ще трябва да се извърши програмно. Струва си да се отбележи, че в конструктора от най-високо ниво константата3може да бъде пропусната и просто написанаnewint[][ ]. Извикването на този конструктор може да бъде пропуснато напълно - ще се подразбира:

Но са необходими конструктори от по-ниско ниво. Друга важна забележка – и тук са възможни динамични масиви. Като цяло границите на всяко ниво могат да бъдат изрази, зависими от променливи. Освен това е приемливо масивите на по-ниско ниво да бъдат многоизмерни.