Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Messaggio di errore
Il nome 'nome' non si trova nell'ambito a sinistra di 'equals'. Si consiglia di effettuare lo swapping delle espressioni ai lati di 'equals'.
The name 'name' is not in scope on the left side of 'equals'. Consider swapping the expressions on either side of 'equals'.
La parola chiave equals è un operatore speciale utilizzato nella clausola join per determinare l'uguaglianza tra due espressioni. La variabile di intervallo della sequenza di origine a sinistra si trova nell'ambito a sinistra di 'equals' e la variabile di intervallo della sequenza di origine a destra si trova solo nell'ambito a sinistra di 'equals'. È possibile verificare con IntelliSense nell'esempio di codice seguente.
Per correggere l'errore
- Effettuare lo swapping delle due variabili di intervallo come illustrato nella riga commentata nell'esempio seguente:
Esempio
Nell'esempio seguente viene generato l'errore 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 };
}
}
Il lato sinistro viene generalmente chiamato lato "esterno" e il destro viene generalmente chiamato lato "interno".