Вы должны поместить любой код, который не является объявлением, в методы
class Program
{
static int[][] board = new int[10][];
static void Main()
{
board[0] = new int[10];
...
}
}
Здесь board
- это поле класса.Вы также можете сделать это локальной переменной внутри метода:
class Program
{
static void Main()
{
int[][] board = new int[10][];
board[0] = new int[10];
...
}
}
Разница между полем класса и локальной переменной заключается в том, что к полю можно получить доступ извне, если оно является открытыми "навсегда" живет для статических полей, и пока объекты, созданные из этого класса, живут для полей экземпляра, тогда как локальная переменная может быть доступна только внутри метода и обычно живет только до тех пор, пока длится вызов метода (не говоря об особых случаяхкак методы итератора и т. д.).
Зубчатый массив полезен в двух случаях
- У вас есть структура, которая не является прямоугольной.
- Вы хотите бытьвозможность назначать ему целые строки без использования цикла.
В противном случае я бы использовал двумерный массив, который можно инициализировать сразу
int[,] board = new int[10, 10];