Поделиться через


Ошибка компилятора CS0820

Обновлен: Ноябрь 2007

Сообщение об ошибке

Невозможно сделать инициализатор массива локальным с неявно заданным типом
Cannot assign array initializer to an implicitly typed local

Массив с неявно заданным типом — это массив, тип элементов которого выводится компилятором. Такой массив должен инициироваться с помощью модификатора new[], как показано в следующем примере.

Исправление данной ошибки

  • Используйте модификатор new[] с инициализатором массива.

  • Не используйте локальные переменные с неявно заданным типом.

Пример

Следующий код приводит к возникновению ошибки CS0820 и демонстрирует правильный способ инициализации массива с неявно заданным типом.

//cs0820.cs
class G
{
    public static int Main()
    {
       
        var a = { 1,2,3}; //CS0820
        // Try using one of the following lines instead.
        // var b = new[] { 1, 2, 3 }; 
       //int[] b = {1, 2, 3};
        return -1;
    }
}

См. также

Ссылки

Неявно типизированные локальные переменные (Руководство по программированию в C#)