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

Тип выражения в предложении "предложение" неверен. Ошибка определения типа при вызове в "метод".

Эта ошибка обычно возникает в том случае, если переменной диапазона назначается неверный явный тип.

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

  1. Если переменной диапазона явно назначается тип, убедитесь, что этот тип совпадает с типом элементов в коллекции, для которой будут выполняться итерации, или может быть неявно преобразован из него. Если переменной диапазона предшествует ключевое слово var, удалите var.

Пример

В следующем коде возникает ошибка CS1942:

// cs1942.cs  
class Program  
    {  
        static void Main(string[] args)  
        {  
            var x = from var i in Enumerable.Range(1, 100) // CS1949  
                    select i; //CS1942  
        }  
    }  

Ошибка CS1942 связана с ошибкой CS1949, поскольку использование var с переменными диапазона приводит к ошибке базовой операции Cast<T>, так как var не является типом.

См. также