Compilerfout CS1937
De naam 'name' bevindt zich niet in het bereik aan de linkerkant 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:
In het volgende voorbeeld wordt CS1937 gegenereerd.
// 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 };
}
}
De linkerkant wordt over het algemeen de 'buitenste' kant genoemd en de rechterkant wordt meestal de 'binnenste' zijde genoemd.
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven: