Compilerfout CS1938
De naam 'name' bevindt zich niet in het bereik aan de rechterkant van 'is gelijk aan'. Overweeg om de expressies aan beide zijden van 'is gelijk aan' te wisselen.
Het equals
trefwoord is een speciale operator die wordt gebruikt in een join
component om gelijkheid tussen twee expressies te bepalen. De bereikvariabele voor de bronreeks links bevindt zich in het bereik aan de linkerkant van gelijk aan en de bereikvariabele voor de bron aan de rechterkant bevindt zich alleen in het bereik aan de linkerkant van gelijk aan. U kunt dit controleren door te experimenteren met IntelliSense in het volgende codevoorbeeld.
- Verwissel de positie van de twee bereikvariabelen, zoals wordt weergegeven in de opmerkingsregel in het volgende voorbeeld:
Met de volgende code wordt CS1938 gegenereerd:
// 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 };
}
}
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven: