Erro do Compilador CS1937
O nome "name" não está no escopo no lado esquerdo de "equals". Considere trocar as expressões em um dos lados de "equals".
A palavra-chave equals
é um operador especial usado em uma cláusula join
para determinar a igualdade entre duas expressões. A variável de intervalo para a sequência de origem do lado esquerdo está no escopo no lado esquerdo de igual a e a variável de intervalo para a fonte do lado direito está apenas no escopo no lado esquerdo de igual a. Você pode verificar isso experimentando o IntelliSense no exemplo de código a seguir.
- Troque a posição das duas variáveis de intervalo, conforme mostrado na linha comentada no exemplo a seguir:
O exemplo a seguir gera o erro CS1937.
// cs1937.cs
using System.Linq;
class Test
{
static void Main()
{
int[] sourceA = { 1, 2, 3, 4, 5 };
int[] sourceB = { 3, 4, 5, 6, 7 };
var query = from a in sourceA
join b in sourceB on b equals a // CS1937
// Try the following line instead.
//join b in sourceB on a equals b
select new { a, b };
}
}
O lado esquerdo geralmente é chamado de lado "externo", e o lado direito geralmente é chamada de lado "interno".
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: