Почему выполняется следующее?
class A
{
public int[,] i = { { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 } };
static void Main(string[] args)
{
}
}
В то время как следующее не?
class A
{
public const int[,] i = { { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 } };
static void Main(string[] args)
{
}
}
Не допускается, чтобы для ссылочного типа const, отличного от строки, назначалось что-либо, кроме нуля. Поскольку это массив (ссылка), ему должно быть присвоено значение null (?). Как он будет инициализироваться, если он будет постоянным и нулевым?