Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Namnet "name" finns inte i omfånget till vänster om "lika med". Överväg att byta uttryck på båda sidor av "lika med".
Nyckelordet equals är en särskild operator som används i en join sats för att fastställa likhet mellan två uttryck. Intervallvariabeln för den vänstra källsekvensen finns i omfånget på vänster sida av lika med, och intervallvariabeln för den högra källkällan finns bara i omfånget på vänster sida av lika med. Du kan kontrollera detta genom att experimentera med IntelliSense i följande kodexempel.
Så här åtgärdar du det här felet
- Växla positionen för de två intervallvariablerna enligt beskrivningen på den kommenterade raden i följande exempel:
Exempel
I följande exempel genereras 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 };
}
}
Den vänstra sidan kallas vanligtvis den "yttre" sidan och höger kallas vanligtvis den "inre" sidan.