Expandir Minimizar
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

CS1941 de erro do compilador

Mensagem de erro

O tipo de uma das expressões na cláusula 'cláusula' é incorreto.Falha de inferência de tipos de tipos na telefonar para 'método'.

Digite inferência de tipos de fluxos de expressões de consulta do tipo de elementos na fonte de dados.

Para corrigir este erro

  • Se não estiver óbvio imediatamente por que o erro está ocorrendo, examine cuidadosamente a consulta e rastrear o tipo de resultado de cada cláusula da fonte de dados para o ponto onde o erro está ocorrendo.

O código a seguir gera CS1941 porque o equals operador está sendo solicitado a comparar um int para um string.

// cs1941.cs
using System.Collections;
using System.Linq;
class Test
{
    static int Main()
    {
        var nums = new[] { 1, 2, 3, 4, 5, 6 };
        var words = new string[] { "lake", "mountain", "sky" };
        IEnumerable e = from n in nums
                        join w in words on n equals w // CS1941
                        select w;
        return 0;
    }
}

O método em que inferência de tipos de tipos de falha é o método que a clásula de consulta é convertida em time de compilar.

Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
© 2013 Microsoft. Todos os direitos reservados.