CS1942 de erro do compilador

Mensagem de erro

O tipo da expressão na cláusula 'cláusula' está incorreto.Falha de inferência de tipos de tipos na telefonar para 'método'.

Este erro normalmente é gerado quando a variável de intervalo tem um tipo explícito incorreto.

Para corrigir este erro

  • Se a variável de intervalo explicitamente for digitada, verifique se o tipo é um dos igual, ou implicitamente conversível do tipo de elementos na coleção ele itera.Se a variável de intervalo é precedida de var palavra-chave, remover var.

Exemplo

O código a seguir gera 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 está relacionado ao CS1949 porque o uso de var com um intervalo variável faz base Cast<T> operação falhe porque var não é um tipo.

Consulte também

Conceitos

Expressões de consulta LINQ (Guia de programação C#)

Referência

var (Referência C#)