Błąd kompilatora CS1938
Nazwa "name" nie znajduje się w zakresie po prawej stronie "równa się". 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 kod generuje CS1938:
// cs1938.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 // CS1938
// Try the following line instead.
// join b in sourceB on a equals b
select new { a, b };
}
}
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: