Вопрос теоретический, мне просто интересно. Например, я знаю, что можно сделать так:
int[][] arr = new int[4][];
arr[0] = new int[] { 1, 2, 3 };
arr[1] = new int[] { 4, 5 };
arr[2] = new int[] { 6 };
arr[3] = new int[] { 7, 8, 9, 10 };
foreach(int[] subarr in arr) { // ненужный для примера цикл
Console.WriteLine(subarr.Length);
}
Но можно ли сделать что-то вроде этого (но другим способом, потому что этот выдаёт ошибку):
int[][] arr = new int[4][] {
new int[] { 1, 2, 3 },
new int[] { 4, 5 }
};
arr[2] = new int[] { 6 };
arr[3] = new int[] { 7, 8, 9, 10 };
Второй вопрос: можно ли вообще не присваивать элементам массива оставшиеся значения? По идее то, что выделяется память для четырёх элементов, не означает, что эти области обязательно должны быть заполнены.
А может быть означает для синтаксиса шарпа?!