Erreur du compilateur CS1938
Le nom 'name' n’est pas dans la portée à droite 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.
- Permutez les deux variables de portée, comme indiqué dans la ligne commentée de l’exemple suivant :
Le code suivant génère l’erreur 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 };
}
}
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :