Błąd kompilatora CS1937
Nazwa "name" nie znajduje się w zakresie po lewej stronie "równości". Rozważ zamianę wyrażeń po obu stronach "równości".
Słowo equals
kluczowe to specjalny operator, który jest używany w klauzuli join
w celu określenia równości między dwoma wyrażeniami. Zmienna zakresu dla sekwencji źródła po lewej stronie znajduje się w zakresie po lewej stronie równości, a zmienna zakresu dla źródła po prawej stronie znajduje się tylko w zakresie po lewej stronie równości. Możesz to sprawdzić, eksperymentując z funkcją IntelliSense w poniższym przykładzie kodu.
- Zamień położenie dwóch zmiennych zakresu, jak pokazano w wierszu komentarza w poniższym przykładzie:
Poniższy przykład generuje plik 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 };
}
}
Lewa strona jest zwykle nazywana "zewnętrzną" stroną, a po prawej stronie jest zwykle nazywana "wewnętrzną".
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: