Expressões lambda tipadas implicitamenteImplicitly typed lambda expressions

Você não pode usar uma declaração de variável tipada implicitamente para declarar uma expressão lambda.You can't use an implicitly typed variable declaration to declare a lambda expression. Isso cria um problema de lógica circular para o compilador.It creates a circular logic problem for the compiler. A declaração var diz ao compilador para descobrir o tipo da variável de acordo com o tipo da expressão no lado direito do operador de atribuição.The var declaration tells the compiler to figure out the type of the variable from the type of expression on the right hand side of the assignment operator. Uma expressão lambda não tem um tipo de tempo de compilação, mas pode ser convertida em qualquer tipo de delegado ou expressão correspondente.A lambda expression does not have a compile time type, but is convertible to any matching delegate or expression type. Quando atribui uma expressão lambda a uma variável de um tipo de delegado ou expressão, você diz ao compilador para tentar converter a expressão lambda em uma expressão ou delegado que corresponda à assinatura da variável "atribuída".When you assign a lambda expression to a variable of a delegate or expression type, you tell the compiler to try and convert the lambda expression into an expression or delegate that matches the signature of the 'assigned to' variable. O compilador deve tentar fazer o item do lado direito da atribuição corresponder ao tipo do lado esquerdo da atribuição.The compiler must try to make the thing on the right hand side of the assignment match the type on the left hand side of the assignment.

Os dois lados da atribuição não podem estar dizendo ao compilador para examinar o objeto do outro lado do operador de atribuição para ver se meu tipo é correspondente.Both sides of the assignment can't be telling the compiler to look at the object on the other side of the assignment operator and see if my type matches.

Você pode obter mais detalhes sobre por quê a linguagem C# especifica esse comportamento lendo este artigo (download do PDF)You can get even more details on why the C# language specifies that behavior by reading this article (PDF Download)