Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le nom 'nom' n’est pas dans la portée à gauche de 'equals'. Échangez les expressions de chaque côté de 'equals'.
Le mot clé equals
est un opérateur spécial utilisé dans une clause join
pour déterminer l’égalité entre deux expressions. La variable de portée pour la séquence source côté gauche est dans la portée à gauche du signe égal, et la variable de portée pour la source côté droite est uniquement dans la portée à gauche du signe égal. Pour vérifier ceci, testez IntelliSense dans l’exemple de code suivant.
Pour corriger cette erreur
- Permutez les deux variables de portée, comme indiqué dans la ligne commentée de l’exemple suivant :
Exemple
L’exemple suivant génère l’erreur 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 };
}
}
Le côté gauche est généralement appelé le côté « externe » et le droit est généralement appelé le côté « interne ».